<SEC-DOCUMENT>0001410578-24-000124.txt : 20240304
<SEC-HEADER>0001410578-24-000124.hdr.sgml : 20240304
<ACCEPTANCE-DATETIME>20240304125546
ACCESSION NUMBER:		0001410578-24-000124
CONFORMED SUBMISSION TYPE:	10-K
PUBLIC DOCUMENT COUNT:		110
CONFORMED PERIOD OF REPORT:	20231231
FILED AS OF DATE:		20240304
DATE AS OF CHANGE:		20240304

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			INNODATA INC
		CENTRAL INDEX KEY:			0000903651
		STANDARD INDUSTRIAL CLASSIFICATION:	SERVICES-COMPUTER PROCESSING & DATA PREPARATION [7374]
		ORGANIZATION NAME:           	06 Technology
		IRS NUMBER:				133475943
		STATE OF INCORPORATION:			DE
		FISCAL YEAR END:			1231

	FILING VALUES:
		FORM TYPE:		10-K
		SEC ACT:		1934 Act
		SEC FILE NUMBER:	001-35774
		FILM NUMBER:		24713971

	BUSINESS ADDRESS:	
		STREET 1:		55 CHALLENGER ROAD
		STREET 2:		SUITE 202
		CITY:			RIDGEFIELD PARK
		STATE:			NJ
		ZIP:			07660
		BUSINESS PHONE:		201 371 8000

	MAIL ADDRESS:	
		STREET 1:		55 CHALLENGER ROAD
		STREET 2:		SUITE 202
		CITY:			RIDGEFIELD PARK
		STATE:			NJ
		ZIP:			07660

	FORMER COMPANY:	
		FORMER CONFORMED NAME:	INNODATA ISOGEN INC
		DATE OF NAME CHANGE:	20031117

	FORMER COMPANY:	
		FORMER CONFORMED NAME:	INNODATA CORP
		DATE OF NAME CHANGE:	19930505
</SEC-HEADER>
<DOCUMENT>
<TYPE>10-K
<SEQUENCE>1
<FILENAME>inod-20231231x10k.htm
<DESCRIPTION>10-K
<TEXT>
<XBRL>
<?xml version='1.0' encoding='ASCII'?>
<html xmlns:stpr="http://xbrl.sec.gov/stpr/2023" xmlns:us-gaap="http://fasb.org/us-gaap/2023" xmlns:inod="http://www.innodata-isogen.com/20231231" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:country="http://xbrl.sec.gov/country/2023" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:ixt-sec="http://www.sec.gov/inlineXBRL/transformation/2015-08-31" xmlns:srt="http://fasb.org/srt/2023" xmlns:ix="http://www.xbrl.org/2013/inlineXBRL" xmlns:ref="http://www.xbrl.org/2006/ref" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:dei="http://xbrl.sec.gov/dei/2023" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns="http://www.w3.org/1999/xhtml" xmlns:ecd="http://xbrl.sec.gov/ecd/2023" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xmlns:ixt="http://www.xbrl.org/inlineXBRL/transformation/2015-02-26" xmlns:xbrldi="http://xbrl.org/2006/xbrldi"><head><meta content="text/html" http-equiv="content-type"/><title></title></head><body><div style="margin-top:30pt;"></div><div style="display:none;"><ix:header><ix:hidden><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="us-gaap:DefinedBenefitPlanNetPeriodicBenefitCostCreditInterestCostStatementOfIncomeOrComprehensiveIncomeExtensibleList" id="Hidden_9F_IJcTNdUOourX_cRLaCQ">http://fasb.org/us-gaap/2023#InterestIncomeExpenseNonoperatingNet</ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="us-gaap:DefinedBenefitPlanNetPeriodicBenefitCostCreditImmediateRecognitionOfActuarialGainLossStatementOfIncomeOrComprehensiveIncomeExtensibleList" id="Hidden_Z2EeXA687kOcotYXn-bbJw">http://fasb.org/us-gaap/2023#OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax</ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="dei:EntityCentralIndexKey" id="Tc_h5nt8fT72EmA8d_tgYY8pg_2_1">0000903651</ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="dei:CurrentFiscalYearEndDate" id="Tc_CH3qBFt0-0SN2svc0FpWfA_3_1">--12-31</ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="dei:DocumentFiscalYearFocus" id="Tc_92lLikN590ShdveWurzWMQ_4_1">2023</ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="dei:DocumentFiscalPeriodFocus" id="Tc_i51Tdjm0U0GftEdVyBNp2g_5_1">FY</ix:nonNumeric><ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" xs:nil="true" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" name="us-gaap:CommitmentsAndContingencies" id="Hidden_Yrd0PO226Uu10IfDKrwUSA"></ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" xs:nil="true" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" name="us-gaap:CommitmentsAndContingencies" id="Hidden_z9oUjWSepkuXW7EHOzb18Q"></ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" xs:nil="true" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" name="us-gaap:PreferredStockValue" id="Hidden_vlvEup74iki0Z_pdtc4VRA"></ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" xs:nil="true" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" name="us-gaap:PreferredStockValue" id="Hidden_XdYr6nBlSEWHwYx5f_2Giw"></ix:nonFraction><ix:nonNumeric contextRef="As_Of_12_31_2023_srt_RangeAxis_srt_MinimumMember_YmaTx6N9qEuCsBJuq0OvGw" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Hidden_yGJN2FqFVEawQJWZoFoh0w">P2Y</ix:nonNumeric><ix:nonNumeric contextRef="As_Of_12_31_2023_srt_RangeAxis_srt_MaximumMember_PIfZGM-P3EK34TOf7oCTgw" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Hidden_qOPG7XoMf06lp7FpqgoXEQ">P10Y</ix:nonNumeric><ix:nonNumeric contextRef="As_Of_12_31_2023_srt_RangeAxis_srt_MinimumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_SoftwareDevelopmentMember_S8eo1oOwH0OqETLpq6C4Qg" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="Hidden_JLLJiYyuKkqFRS0YKxa3_A">P3Y</ix:nonNumeric><ix:nonNumeric contextRef="As_Of_12_31_2023_srt_RangeAxis_srt_MinimumMember_YmaTx6N9qEuCsBJuq0OvGw" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="Hidden_qjmnNajey0O1TLxVoiF3kA">P10Y</ix:nonNumeric><ix:nonNumeric contextRef="As_Of_12_31_2023_srt_RangeAxis_srt_MinimumMember_YmaTx6N9qEuCsBJuq0OvGw" name="us-gaap:LesseeOperatingLeaseTermOfContract" id="Hidden_e1fpDG-ap0y2l40728ofbQ">P3Y</ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" name="us-gaap:DefinedBenefitPlanNetPeriodicBenefitCostCreditInterestCostStatementOfIncomeOrComprehensiveIncomeExtensibleList" id="Hidden_aQtP6P0A1kWD3BSZJhu5aw">http://fasb.org/us-gaap/2023#InterestIncomeExpenseNonoperatingNet</ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" name="us-gaap:DefinedBenefitPlanNetPeriodicBenefitCostCreditImmediateRecognitionOfActuarialGainLossStatementOfIncomeOrComprehensiveIncomeExtensibleList" id="Hidden_de-PhSVLS0-kn7qLcGpriA">http://fasb.org/us-gaap/2023#OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax</ix:nonNumeric><ix:nonFraction unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg" contextRef="As_Of_6_9_2022_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanOtherMember_ox1r1yxlZUKpVY3wthwE9A" decimals="0" name="inod:ReservationOfSharesSubjectToOptionOrStockAppreciationRightsGrantedRatio" id="Hidden__ctoI4xhnE-wozOg_pPFdA">1</ix:nonFraction><ix:nonFraction unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg" contextRef="As_Of_6_9_2022_us-gaap_PlanNameAxis_inod_AwardsGrantedOnOrAfterApril112022Member_cAZW4VpiL0eupZPF5M9ZTg" decimals="1" name="inod:ReservationOfSharesSubjectToOptionOrStockAppreciationRightsGrantedRatio" id="Hidden_HRVvmxM3skOkjfdZH6FqLA">1.5</ix:nonFraction><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="dei:AmendmentFlag" id="Narr_FaVZggi51kC8DxsUmwmRRA">false</ix:nonNumeric></ix:hidden><ix:references><link:schemaRef xlink:type="simple" xlink:href="inod-20231231.xsd"/></ix:references><ix:resources><xbrli:context id="As_Of_12_31_2023_us-gaap_PlanNameAxis_inod_July2019Member_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_W4sF6Z6qyUa03x_b80ZQXQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:July2019Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_7_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_DObil0Cd0kaw8yOhXhDDUQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-07-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_VWkoYgCEzEuN3t0z8mOTLQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_y6LH4FZyUU6spha9-bbn_A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_S7Xu-iAocEyNWI82JzTqfA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_njClAqiM4Eeb0hjXjSlViw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_01xSO6MKUEWeyN3RC-tO2g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedTranslationAdjustmentMember_mHQ4p6twU06hTlgC7UtGPA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_pzr1FtTpQEeyVTKJemj5Wg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_r-4TmZcddkOH0mSP_wvnFw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_8s3R-6bglUejDK2j7LO24g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_c9nI-ppBdkmTCKau0PGdkA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_Xh-mWyVn70OE9xUci_IQRQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_OA_fgtmpVkC1MWGVYBi_hQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedTranslationAdjustmentMember__fbw9TgseEeDPSCwFeZUfQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_c7lWhPVgBE-WkvyMz14pyQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_huEGSbabNkKfAjcJrm83rw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_kZgpW4-CxUutJCwalaxPhw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_H0GPcDIcOU2QbycbGACgMA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_jf7hkqiWX0egegZhEMcvTA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_OguCQ5maD0G16LhxXCOQ4w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedTranslationAdjustmentMember_JmGwNz4ASUWfUFC-yCcPrg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_FJvH64UhtkiszY9Kg4pazw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_wN7JYwmcpUSPEYT5NjW66w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_oZr7_sMmSU617toIq-_dFQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_btqtIDidsk634d3sKbH3_w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_4NLZO_zTMEK5b6ECGUYIBA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_9XCb8WP8tEqD94mDq4uchg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_pBF4Y-Lg6kCL3PAB9bTWNw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_2Nfr3Br9R0mhG5MRLiyDnA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandTwentyOneEquityCompensationPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_B96TBqTFKEaluYlXpr5q7w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandThirteenStockPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_zYDg2tq3n0Oc7toZz_J8Rg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandThirteenStockPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_TitleOfIndividualAxis_srt_DirectorMember_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_wseCkmiACUS8SZkKg14hiw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:DirectorMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandThirteenStockPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_2MOLdCzC7E6PZi3R9hLQrA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandTwentyOneEquityCompensationPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_zSOyWwkuIk6SeJ-OjpNoVw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandThirteenStockPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_5qfGOF2UVU2H1ZwgTrg-lQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandTwentyOneEquityCompensationPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_E6JzJkGs60iVwm0NiLkEFw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandThirteenStockPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_7dfJBm3L5kyLlQmZU_dW2A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandTwentyOneEquityCompensationPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_uMKO-Xvs5Em3U_KvkoJlBw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandThirteenStockPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MinimumMember_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_3AmCVRd9KEy7rbq1vGpqvA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MaximumMember_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_3Pm8X4SEh0iGRRik8CFddQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_LvKkDDcU8U2445y8aZ9qYw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_xYlmmjRk5EC3kv0aujSB-g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_PanpiGRa70CvltWK11K3XA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:EquityPlansMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_0doUN1yxeE6e7yU6ySXQYg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:EquityPlansMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_YkATlAZycECBwoQG35brVw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandTwentyOneEquityCompensationPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_cSZVcu2dYE2kzuJl5WvLEw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandThirteenStockPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_qj4QrqwTtkeIYN2E8Tq2-Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:EquityPlansMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_WgP_-J30yUq6H7aSq2bW6Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:EquityPlansMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_us-gaap_PlanNameAxis_inod_EquityPlansMember_8-gjq0qjNkifVmyU2oIfwg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:EquityPlansMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_-vuRYrfzYkmvPTGuM6-RWA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:SynodexMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_hfrqOpdH60OwuH8iwP5vZg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:DdsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_VS8VoCn_NkSXn3oQdOqKmg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:AgilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_inod_OtherPrincipallyEuropeMember_kdhwqSqGT0O9PtPl-qkB6A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">inod:OtherPrincipallyEuropeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_US_iFLtBwWXw0aTJr5phU5fmA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_NL_k_leQGnSsEWgYiul_DRyrA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:NL</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_GB_4mXwBS_lJ0mF5wsBlCd7pA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:GB</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_CA_AOw3tuYUUUeHMssSM37RMw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_b5c4CvpcyUe-20ZsF4XSuA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:SynodexMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_9B1oaQAGS0SJig4AiUYcMQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:DdsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_esDU3rm5EE6OMbherdLDuw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:AgilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_inod_OtherPrincipallyEuropeMember_hBdIW5TnCEy1QdcKibvPWQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">inod:OtherPrincipallyEuropeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_US_5hthIEYwm0eKGwFyxNDM6Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_NL_xSsVJG2Br0yw55QMAs0AYA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:NL</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_GB_0sXgTTfeykWLEN1FuHAEhw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:GB</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_CA_HEGbN8jj5UKKBBZUq3vvig"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_4inx0p5d60qmVZRrhN40GQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_SoftwareDevelopmentMember_mht7vH8tKUef5L-G47g2nw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:SoftwareDevelopmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LeaseholdImprovementsMember_uzKSil1umEyaNihIikRvPA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_InProcessResearchAndDevelopmentMember_TwbDqKD0eEyEA6rPyTwn0Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:InProcessResearchAndDevelopmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_j7fr2aREr0etiwWXPom1Cw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_EquipmentMember_zzAXJJYIRU-phMDpp2ofCA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:EquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ConstructionInProgressMember_RaHGoRdNTE--bt8JibitXg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ConstructionInProgressMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_NnKaqIz6W0S5bpyx7bFy3A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerSoftwareIntangibleAssetMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_SoftwareDevelopmentMember_il3Kp-1yYEuSazF6g0FVOQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:SoftwareDevelopmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LeaseholdImprovementsMember_hNIgnDPHqUCSTT89xv2amQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_InProcessResearchAndDevelopmentMember_md_cXI5wp06jm59RmeLnXg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:InProcessResearchAndDevelopmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_-p-SWorF4E-hN-AJEpD9kA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_EquipmentMember_DGXm8rAQtU6PwKu4QVVPCw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:EquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_F-3xW7ASn0K6WUWt9riFzw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerSoftwareIntangibleAssetMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_SubsidiariesMember_DFFEGF58rE6oeVOhMg0aNg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:SubsidiariesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_SubsidiariesMember_EVm84t8OQkia1k5chZAOgA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:SubsidiariesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_inod_GermanAndUnitedKingdomSubsidiariesMember_QTB2moW3pkCwmlm8dntKtw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">inod:GermanAndUnitedKingdomSubsidiariesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_inod_ShortTermOperatingLeaseMember_x_QUpyv9IE-7cVpAPBGSdg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">inod:ShortTermOperatingLeaseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_inod_LongTermOperatingLeaseMember_DXOfr4xtMU-oKVzTsYBrRw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">inod:LongTermOperatingLeaseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_inod_ShortTermOperatingLeaseMember_El57wvTweE6UylGYfiFmKg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">inod:ShortTermOperatingLeaseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_inod_LongTermOperatingLeaseMember_tBWogeeDH0qj_QiwQfDvLQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">inod:LongTermOperatingLeaseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_srt_StatementGeographicalAxis_stpr_IL_MAsADG9zd0eYU0lSiJSk1Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">stpr:IL</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_srt_StatementGeographicalAxis_inod_ForeignCountriesMember_hzjj-hG2RkySFElnBcom0A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">inod:ForeignCountriesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_PH_BXetIOq2PUy09PanB1VcMw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:PH</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_LK_fcotOyfyCEOeSK58UW3WcA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:LK</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_IN_nQS0e64vb0OwUxdjuRF7VA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:IN</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_GB_cGlE6M1wGEyQUI3RdGfVMA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:GB</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_CA_aAWcbW5hcUacnsmjpTYKMg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_srt_StatementGeographicalAxis_stpr_IL_foRoAo2c0EWVo5lTWTaRRw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">stpr:IL</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_srt_StatementGeographicalAxis_inod_ForeignCountriesMember_FBuuV21fgUea3lhDn10MKA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">inod:ForeignCountriesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_srt_StatementGeographicalAxis_country_US_ln2nGqa4pkW7JE8Dx8YURQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_srt_StatementGeographicalAxis_country_PH_r0CKHi2eW0eWdSEGI9mgqA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:PH</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_srt_StatementGeographicalAxis_country_LK_oaPqC3MzUkKvwJ93B0xWmA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:LK</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_srt_StatementGeographicalAxis_country_IN_qtD2fnWt7UeXcO59Vjiypg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:IN</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_srt_StatementGeographicalAxis_country_GB_rsDGcGQTPEe5cRCF5Q2oUQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:GB</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_srt_StatementGeographicalAxis_country_CA_6ijCI4Yup0aJNI7uAFEvDg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_eEeeUQr3mkibdWknCwAtkQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_2VTL9IGn-0qYfrYlQnKN3w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_qXmgvxTx802OU8AiQe7VYA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_us-gaap_SubsegmentsConsolidationItemsAxis_inod_BeforeIntersegmentEliminationsMember_2V9Mg6e63UmQOnsRtk2ewQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:SynodexMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:SubsegmentsConsolidationItemsAxis">inod:BeforeIntersegmentEliminationsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_us-gaap_SubsegmentsConsolidationItemsAxis_inod_AfterIntersegmentEliminationsMember_90AMqhMbSkSLYrBYYLonWg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:SynodexMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:SubsegmentsConsolidationItemsAxis">inod:AfterIntersegmentEliminationsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_us-gaap_SubsegmentsConsolidationItemsAxis_inod_BeforeIntersegmentEliminationsMember_mZKU-HNpVkeVxqBMhDvpzA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:DdsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:SubsegmentsConsolidationItemsAxis">inod:BeforeIntersegmentEliminationsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_us-gaap_SubsegmentsConsolidationItemsAxis_inod_AfterIntersegmentEliminationsMember_6xfH3kPftES4PwzNxRXytg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:DdsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:SubsegmentsConsolidationItemsAxis">inod:AfterIntersegmentEliminationsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_us-gaap_SubsegmentsConsolidationItemsAxis_inod_BeforeIntersegmentEliminationsMember_Ol_MJGERcEO6rtt180a_9A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:AgilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:SubsegmentsConsolidationItemsAxis">inod:BeforeIntersegmentEliminationsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_us-gaap_SubsegmentsConsolidationItemsAxis_inod_AfterIntersegmentEliminationsMember_YRNECY_QzEKvQBRFrI_rtw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:AgilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:SubsegmentsConsolidationItemsAxis">inod:AfterIntersegmentEliminationsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_us-gaap_SubsegmentsConsolidationItemsAxis_inod_BeforeIntersegmentEliminationsMember_ZYXKfyc5bUuc_tUGR5jEnQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsegmentsConsolidationItemsAxis">inod:BeforeIntersegmentEliminationsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_us-gaap_SubsegmentsConsolidationItemsAxis_inod_AfterIntersegmentEliminationsMember_Dl9RY7RK2UODmIByd_M06A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsegmentsConsolidationItemsAxis">inod:AfterIntersegmentEliminationsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_us-gaap_SubsegmentsConsolidationItemsAxis_inod_BeforeIntersegmentEliminationsMember_QYt-iA7H00ybmHvX_Bcp8A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:SynodexMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:SubsegmentsConsolidationItemsAxis">inod:BeforeIntersegmentEliminationsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_us-gaap_SubsegmentsConsolidationItemsAxis_inod_AfterIntersegmentEliminationsMember_rX0wtMiAMkyaIwTMffhTeg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:SynodexMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:SubsegmentsConsolidationItemsAxis">inod:AfterIntersegmentEliminationsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_us-gaap_SubsegmentsConsolidationItemsAxis_inod_BeforeIntersegmentEliminationsMember_6lFqrVNeTk2ITm4KSuH9Yw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:DdsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:SubsegmentsConsolidationItemsAxis">inod:BeforeIntersegmentEliminationsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_us-gaap_SubsegmentsConsolidationItemsAxis_inod_AfterIntersegmentEliminationsMember__QRq8LR7SEuoxYmZrlolQA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:DdsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:SubsegmentsConsolidationItemsAxis">inod:AfterIntersegmentEliminationsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_us-gaap_SubsegmentsConsolidationItemsAxis_inod_BeforeIntersegmentEliminationsMember_sCdYBoaS2EuGi5AD29cP6A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:AgilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:SubsegmentsConsolidationItemsAxis">inod:BeforeIntersegmentEliminationsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_us-gaap_SubsegmentsConsolidationItemsAxis_inod_AfterIntersegmentEliminationsMember_arrKlzbb70GZQU4AYDZ__w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:AgilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:SubsegmentsConsolidationItemsAxis">inod:AfterIntersegmentEliminationsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_us-gaap_SubsegmentsConsolidationItemsAxis_inod_BeforeIntersegmentEliminationsMember_TJ9zMrxcmUCFxo6BZ1m9hA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsegmentsConsolidationItemsAxis">inod:BeforeIntersegmentEliminationsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_us-gaap_SubsegmentsConsolidationItemsAxis_inod_AfterIntersegmentEliminationsMember_v6mrBPP_IUWv0ooN07CK3A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsegmentsConsolidationItemsAxis">inod:AfterIntersegmentEliminationsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_srt_RangeAxis_srt_MinimumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_SoftwareDevelopmentMember_S8eo1oOwH0OqETLpq6C4Qg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:SoftwareDevelopmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_srt_RangeAxis_srt_MaximumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_SoftwareDevelopmentMember_UurneqD0Bk2FpWMKYsPoRg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:SoftwareDevelopmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_PatentsMember_zVB7ioDKikWsICnbFgSR-A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember__-GTYdyktECJT8VEe_EEig"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_aGTgNraUUUShkXeCx_LciQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_M1sjIcrZOkGs1qGMdqzpwA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_BalanceSheetLocationAxis_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_AUfPf9OJf0G5NwXT0F9c1A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:PrepaidExpensesAndOtherCurrentAssetsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeForwardMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_BalanceSheetLocationAxis_us-gaap_AccruedLiabilitiesMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_InbCQGc--UKcVGc-vpr2Rg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:AccruedLiabilitiesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeForwardMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_PropertyPlantAndEquipmentMember_l3aWZIWm_0SZhUxTlhaGUA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:PropertyPlantAndEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_PropertyPlantAndEquipmentMember_q1bRmTSSYkOD3HDGnkIF2Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:PropertyPlantAndEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_srt_RangeAxis_srt_MinimumMember_YmaTx6N9qEuCsBJuq0OvGw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_srt_RangeAxis_srt_MaximumMember_PIfZGM-P3EK34TOf7oCTgw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_srt_RangeAxis_srt_MinimumMember_nGIL2e5ce024p70y-Q_Ycw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_srt_RangeAxis_srt_MaximumMember_1QamParElEGLqoWNrgblfg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_xJ-GY_vwXUCD4dgoexnKzg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_inod_CanadianSubsidiariesMember_FCfK_h6Wmky5ntCPvme4fQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">inod:CanadianSubsidiariesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_us-gaap_VariableRateAxis_us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember_H1VS6g2bE0uHuDqDCyn7rA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_MajorCustomersAxis_inod_ClientMember_srt_RangeAxis_srt_MinimumMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_wL6jRDzFb020zagpQ4Ygpg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">inod:ClientMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_MajorCustomersAxis_inod_ClientMember_srt_RangeAxis_srt_MinimumMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_rdFMdzOXSU-smKLQzFV_6g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">inod:ClientMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_us-gaap_NonUsMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_STsKk-a8DEKY3B2I_1Oy3w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_MajorCustomersAxis_inod_ForeignCustomerMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_3vPdv9N500KQ0vK1-GhRJA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">inod:ForeignCustomerMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_srt_MajorCustomersAxis_inod_ClientMember_srt_RangeAxis_srt_MinimumMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_3CVCszgYdEKSonxTs4tK9w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">inod:ClientMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_us-gaap_NonUsMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_rFmV0NtGg0SSi0G5txTSVg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_srt_MajorCustomersAxis_inod_TwoClientMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_Cfd5zrQQsUSS2QVh-CKFNQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">inod:TwoClientMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_srt_MajorCustomersAxis_inod_ForeignCustomerMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_m4Iw8m0UtEONWu-1WAeD1w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">inod:ForeignCustomerMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2021_LPWzI6J5HECBN2kqx3f4aQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_srt_StatementGeographicalAxis_srt_AsiaMember_d4ka6TsD6EKK9ur-xGhFZg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_US_8DT353cHtEa626yJajOM5Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_7YF2pH0B5UijlCQ0p4ihHw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:SynodexMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_lFP-B3DwC0e_ZKSaD-pLNA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:DdsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_wiijic-RgECfCYdrud0aEQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:AgilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_TwFYk21iN0SwTxWg75DysQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:SynodexMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_a-22rrn9JUuT_fjkXrOsPA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:DdsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_Jc77nOKStUuc-rNnJbOogQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:AgilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_us-gaap_EmployeeStockOptionMember_DPBvrTz6kkyaZw2HWXjVtQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_us-gaap_EmployeeStockOptionMember_l-ruXq15iEmvhjXE5yMAMw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_oy0WX7SYMUyLC7id-H4ucw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:ComputerSoftwareIntangibleAssetMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember__a2gkVDth0ywgic7QgphKQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">inod:AcquiredIntangibleAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_MrUGCXFZSEWy5o1j5bpSmw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:ComputerSoftwareIntangibleAssetMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_5ToJZqlEW0i8mTZxDTlASQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">inod:AcquiredIntangibleAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_Au2u0M_T90mYM-zrpZkzkQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_TDgoK54eBUmCow_apWlqcg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedTranslationAdjustmentMember_MXzUQ8pNpUygoHxpksj4TQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_RUyaer8lGE6_VcQ9LicmRQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_50Ly9HkcDEy-rKD-BGoM3Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_xblYvJaCp0qPeXhF3ODqyQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedTranslationAdjustmentMember_iZNJNhyXvUyaxwVtQpgbsg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_cOS_gIzBZ0CnbFN3FJi6eA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_SoQXm1V1qUK3wkjLIc6eAw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_-qi-V-dHIUiVFo6sJ0-f8w"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_9_1_2015_To_9_30_2015_WYjG5CShO0SYkZwTcduhiA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2015-09-01</xbrli:startDate><xbrli:endDate>2015-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_HH5I-e_i2k6rTauI9dQ1nQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandThirteenStockPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_10_31_2016_nJYF--Xc_U2SPEcPGZGJBg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2016-10-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_10_1_2016_To_10_31_2016_3W4g1vcmNEmrMg6_uGqOfQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2016-10-01</xbrli:startDate><xbrli:endDate>2016-10-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_6_9_2022_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanOtherMember_ox1r1yxlZUKpVY3wthwE9A"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandTwentyOneEquityCompensationPlanOtherMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-09</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_6_9_2022_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_JCHZ8nRusU6QD_8W_z81hQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandTwentyOneEquityCompensationPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-09</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_6_9_2022_us-gaap_PlanNameAxis_inod_AwardsGrantedPriorToApril112022Member_wMCt5JSWAkWsSxylLqjJdA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:AwardsGrantedPriorToApril112022Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-09</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_6_9_2022_us-gaap_PlanNameAxis_inod_AwardsGrantedOnOrAfterApril112022Member_cAZW4VpiL0eupZPF5M9ZTg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:AwardsGrantedOnOrAfterApril112022Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-06-09</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_RangeAxis_srt_MinimumMember__WjpBOXPAEK2_4FlqeOGLg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_RangeAxis_srt_MaximumMember_siGZ1qI_hkWqxx2Z-aZmRg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_9_1_2015_To_9_30_2015_srt_RangeAxis_srt_MinimumMember_-eLS3_HuOkeCrHwAx7hjPw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2015-09-01</xbrli:startDate><xbrli:endDate>2015-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_9_1_2015_To_9_30_2015_srt_RangeAxis_srt_MaximumMember_4XA3eW6BaUmV_t9ZghQpdA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2015-09-01</xbrli:startDate><xbrli:endDate>2015-09-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_lvzdDusiskOtELZ9OgVYdg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_MajorCustomersAxis_inod_ClientMember_srt_StatementGeographicalAxis_country_US_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_CkIJNvV73Eew6QKg_jNFhw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">inod:ClientMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_MajorCustomersAxis_inod_ThreeClientsMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_qmwWCbD92Umjf-TP88K6cw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">inod:ThreeClientsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_MajorCustomersAxis_inod_OneClientMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_v9cM2ErFBEW4A75o1sqTTA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">inod:OneClientMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_srt_MajorCustomersAxis_inod_ClientMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_PcZ7ozjHUEaNBqnE2Sdjjw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">inod:ClientMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_srt_MajorCustomersAxis_inod_FourClientsMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_hKUD1oPjwk2k4Wgce-zdFw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">inod:FourClientsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_srt_MajorCustomersAxis_inod_ClientMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_y7QYRaUgCkqMg2oElbakdQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">inod:ClientMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_4_4_2023_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_anRnKJhV_EGKUcG18ZpIpg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-04</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_Gt0Fc2emHkCNxWwCfSeNWw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TrademarksAndTradeNamesMember_Gj52JADWik2ItSOKlpbJzg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_jgpXL2KeZEmEkWN_lDeXmQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DatabasesMember_EBiWXn6yiECLhivoDMTk4Q"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DatabasesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_lJ-iqzoN70qDCnc-LsPEuw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_7PVrMi5Wr0aP4girP8kHXA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:ComputerSoftwareIntangibleAssetMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember_3Q1JoDdhqUC0jOy4GmA0aw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">inod:CapitalizedSoftwareDevelopmentCostWorkInProgressMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostMember_dKot9KqYtkm9_4foL5aTIA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">inod:CapitalizedSoftwareDevelopmentCostMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_3xT5wZurSEWwIqeeGVMCmw"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">inod:AcquiredIntangibleAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TrademarksAndTradeNamesMember_uHTO2EfbRUC-OqF-EOw6qA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_PatentsMember_WeQXdzje8ka8BkVNU3B7wQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_nLHbcZHXgU6_creI3uE6xA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DatabasesMember_mRRUGIoPKk-sWL8PUouAGQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DatabasesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_Zyeu2TOum0WZjX6qoUuy-g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_CNjlWMTNREa7402JV2GnsA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:ComputerSoftwareIntangibleAssetMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember_BEgB-Yr_nES75-uDd-4kHg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">inod:CapitalizedSoftwareDevelopmentCostWorkInProgressMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostMember_1EUD_z-rhES_jtnA2B4dGA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">inod:CapitalizedSoftwareDevelopmentCostMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_htNU6lFd3kKabu_rRRkMyA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">inod:AcquiredIntangibleAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_6_30_2023_OyuV3U78lE6Mlcj9Xr-85g"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2023-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="As_Of_2_16_2024_Om65y9F620qLn_wtXo9NSQ"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2024-02-16</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000903651</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:unit id="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw"><xbrli:measure>xbrli:shares</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA"><xbrli:measure>iso4217:USD</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg"><xbrli:measure>xbrli:pure</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Standard_customer_L07mCJvwDkuRDU6qXBuosg"><xbrli:measure>inod:customer</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Standard_client_M0gpsvUdgEqG9qCLCiii6A"><xbrli:measure>inod:client</xbrli:measure></xbrli:unit><xbrli:unit id="Unit_Divide_Vote_shares_Tei4HNwEo0userS1-1-JTg"><xbrli:divide><xbrli:unitNumerator><xbrli:measure>inod:Vote</xbrli:measure></xbrli:unitNumerator><xbrli:unitDenominator><xbrli:measure>xbrli:shares</xbrli:measure></xbrli:unitDenominator></xbrli:divide></xbrli:unit><xbrli:unit id="Unit_Divide_USD_shares_CsCIGYdPT06WFyu9y-PYzg"><xbrli:divide><xbrli:unitNumerator><xbrli:measure>iso4217:USD</xbrli:measure></xbrli:unitNumerator><xbrli:unitDenominator><xbrli:measure>xbrli:shares</xbrli:measure></xbrli:unitDenominator></xbrli:divide></xbrli:unit><xbrli:unit id="Unit_Standard_segment_ZgNiCSukjkyW3Oz99w8UqQ"><xbrli:measure>inod:segment</xbrli:measure></xbrli:unit></ix:resources></ix:header></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-bottom:1pt;padding-top:1pt;text-align:center;text-indent:0pt;border-bottom:1px solid #000000;border-top:3.0pt solid #000000;margin:0pt;"><span style="font-size:2pt;font-weight:bold;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;text-indent:0pt;margin:0pt;"><span style="font-size:6pt;font-weight:bold;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><a id="_471b5cb1_13a6_40e4_a97c_54b4e89896e4"></a><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;text-indent:0pt;margin:0pt;"><b style="font-weight:bold;">UNITED STATES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;text-indent:0pt;margin:0pt;"><b style="font-weight:bold;">SECURITIES AND EXCHANGE COMMISSION</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;text-indent:0pt;margin:0pt 0pt 4pt 0pt;"><b style="font-weight:bold;">WASHINGTON, D.C. 20549</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;text-indent:0pt;margin:0pt 0pt 4pt 0pt;"><b style="font-size:8pt;font-weight:bold;">FORM&#160;</b><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="dei:DocumentType" id="Narr_05S0y6xom0Oa2xPEDGFR8w"><b style="font-size:8pt;font-weight:bold;">10-K</b></ix:nonNumeric></p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-indent:0pt;margin:0pt;">(Mark One)</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:3pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><a id="_3e344d78_7802_456e_823c_806076848de8"></a><a id="Tc_ZXyfHAhuLEWQ3U9E3tGmLw_1_2"></a><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:0.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td><td style="vertical-align:top;width:3.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td><td style="vertical-align:top;width:96.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td></tr><tr><td style="vertical-align:top;width:0.17%;margin:0pt;padding:0pt;"/><td style="vertical-align:top;width:3.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-indent:0pt;margin:0pt;"><ix:nonNumeric format="ixt:booleantrue" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="dei:DocumentAnnualReport" id="Tc_go4kK-h7AUeJoAayHIo9kw_1_1"><span style="font-family:'Segoe UI Symbol';font-size:9pt;">&#9745;</span></ix:nonNumeric></p></td><td style="vertical-align:top;width:96.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-indent:0pt;margin:0pt;">ANNUAL REPORT UNDER SECTION&#160;13 OR 15(d)&#160;OF THE SECURITIES EXCHANGE ACT OF 1934<span style="font-size:9pt;"> </span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:3pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;text-indent:0pt;margin:0pt;"><b style="font-size:8pt;font-weight:bold;">For the fiscal&#160;year ended </b><ix:nonNumeric format="ixt:datemonthdayyearen" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="dei:DocumentPeriodEndDate" id="Narr_cg_QXDbLkEuC1HXYm6OgtQ"><b style="font-size:8pt;font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">December&#160;31, 2023</b></ix:nonNumeric></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:3pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><a id="_05fdcb3f_afc5_4b97_98eb_b1067e599275"></a><a id="Tc_sNXIDcWI1kCiPry4alNaOw_1_2"></a><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:0.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td><td style="vertical-align:top;width:3.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td><td style="vertical-align:top;width:96.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td></tr><tr><td style="vertical-align:top;width:0.17%;margin:0pt;padding:0pt;"/><td style="vertical-align:top;width:3.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-indent:0pt;margin:0pt;"><ix:nonNumeric format="ixt:booleanfalse" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="dei:DocumentTransitionReport" id="Tc_vP8Dg-96lE6tMphFX32Vxg_1_1"><span style="font-family:'Segoe UI Symbol';font-size:8pt;">&#9744;</span></ix:nonNumeric></p></td><td style="vertical-align:top;width:96.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-indent:0pt;margin:0pt;">TRANSITION REPORT UNDER SECTION&#160;13 OR 15(d)&#160;OF THE SECURITIES EXCHANGE ACT OF 1934 </p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:3pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;text-indent:0pt;margin:0pt 0pt 6pt 0pt;"><b style="font-size:8pt;font-weight:bold;">Commission file number </b><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="dei:EntityFileNumber" id="Narr_GVehf-mK8k-pyUzGApdTRw"><b style="font-size:8pt;font-weight:bold;">001-35774</b></ix:nonNumeric></p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-align:center;text-indent:0pt;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="dei:EntityRegistrantName" id="Narr_7Q2AtF3DFE-zKZYuaenE6g"><b style="font-weight:bold;">INNODATA&#160;INC</b></ix:nonNumeric><b style="font-weight:bold;">.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;text-indent:0pt;margin:0pt;">(Exact name of registrant as specified in its charter)</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:3pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><a id="_9981e675_f0e0_4d93_bf89_9469baf7aa07"></a><a id="Tc_pyoaR_wqrkSr6ABJvZ3Vyw_2_0"></a><a id="Tc_p24G8sJv90eBbsjErzTUmw_2_1"></a><a id="Tc_Y952xYxemUuou31brByFDw_3_0"></a><a id="Tc_827eM5WeMEusqTcQ88n0Ew_6_0"></a><a id="Tc_w2i4leG4vUmeGw6Ees7D8g_7_0"></a><a id="Tc_FYHxRu7PEEu0ziZyPwPEyw_7_1"></a><a id="Tc__9Z3Sny09k6xmVKZDIxslg_9_0"></a><a id="Tc_6MQxdPRaOEeVkjnUO9QTdA_10_0"></a><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"/><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"/></tr><tr><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;text-indent:0pt;margin:0pt;"><ix:nonNumeric format="ixt-sec:stateprovnameen" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="dei:EntityIncorporationStateCountryCode" id="Tc_zVJlxn2G6EaccA1jSmMDLg_1_0"><b style="font-size:8pt;font-weight:bold;">Delaware</b></ix:nonNumeric></p></td><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;text-indent:0pt;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="dei:EntityTaxIdentificationNumber" id="Tc_YxdVqFgBk0SK02xlVVJVrg_1_1"><b style="font-size:8pt;font-weight:bold;">13-3475943</b></ix:nonNumeric></p></td></tr><tr><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;text-indent:0pt;margin:0pt;">&#160;(State or other jurisdiction of </p></td><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;text-indent:0pt;margin:0pt;">(I.R.S. Employer Identification No.)</p></td></tr><tr><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;text-indent:0pt;margin:0pt;">incorporation or organization)</p></td><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;text-indent:0pt;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:center;text-indent:0pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:center;text-indent:0pt;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;text-indent:0pt;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="dei:EntityAddressAddressLine1" id="Tc_vfOL2FWhsESqy4Hs8vW0GA_5_0"><b style="font-size:8pt;font-weight:bold;">55 Challenger Road</b></ix:nonNumeric></p></td><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;text-indent:0pt;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;text-indent:0pt;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="dei:EntityAddressCityOrTown" id="Narr_mWFvZUCxR0q_teL4Igoehw"><b style="font-size:8pt;font-weight:bold;">Ridgefield Park</b></ix:nonNumeric><b style="font-size:8pt;font-weight:bold;">, </b><ix:nonNumeric format="ixt-sec:stateprovnameen" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="dei:EntityAddressStateOrProvince" id="Narr_FVbj3YGCS02XRd4NA-t8vw"><b style="font-size:8pt;font-weight:bold;">New Jersey</b></ix:nonNumeric></p></td><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;text-indent:0pt;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="dei:EntityAddressPostalZipCode" id="Tc_A-yb84wxbk2R5d9mV43NWQ_6_1"><b style="font-size:8pt;font-weight:bold;">07660</b></ix:nonNumeric></p></td></tr><tr><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;text-indent:0pt;margin:0pt;">&#160;(Address of principal executive offices) </p></td><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;text-indent:0pt;margin:0pt;">(Zip Code)</p></td></tr><tr><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:center;text-indent:0pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:50%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:5pt;text-align:center;text-indent:0pt;margin:0pt;">&#160;</p></td></tr><tr><td colspan="2" style="vertical-align:top;width:100%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;text-indent:0pt;margin:0pt;"><b style="font-size:8pt;font-weight:bold;">(</b><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="dei:CityAreaCode" id="Narr_0hhKcxdg7ECp72oAeiD2IA"><b style="font-size:8pt;font-weight:bold;">201</b></ix:nonNumeric><b style="font-size:8pt;font-weight:bold;">) </b><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="dei:LocalPhoneNumber" id="Narr_wQEWHYz6j0GkZOWi_j-vnQ"><b style="font-size:8pt;font-weight:bold;">371-8000</b></ix:nonNumeric></p></td></tr><tr><td colspan="2" style="vertical-align:top;width:100%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;text-indent:0pt;margin:0pt;">&#160;(Registrant&#8217;s telephone number) </p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:1pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:3pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr><td style="vertical-align:top;width:61.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-indent:0pt;margin:0pt;">Securities registered under Section&#160;12(b)&#160;of the Exchange Act:</p></td><td style="vertical-align:top;width:1.62%;margin:0pt;padding:0pt;"/><td style="vertical-align:top;width:36.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;text-indent:0pt;margin:0pt;">&#160;</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:3pt;visibility:hidden;">&#8203;</span></p><a id="_3b92a632_8bf3_493e_a97e_4ad12645c695"></a><a id="Tc_hAOtVZGryUuSWaweocGGhQ_0_0"></a><a id="Tc_tSq5zGI73E2fM1wOblKIXQ_0_2"></a><a id="Tc_h1kUyPbnrkSTl6W0UGlSfQ_0_4"></a><a id="Tc_2Kw0xvlY3Uai_ZZOOVyQAA_1_4"></a><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:-0.0046310425%;padding-left:0pt;padding-right:0pt;width:100%;"><tr><td style="vertical-align:top;width:35.85%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt -0.25pt 0pt 35.75pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;text-indent:0pt;margin:0pt;"><b style="font-weight:bold;">Title of each class</b></p></td><td style="vertical-align:top;width:1.72%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-indent:0pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:top;width:24.23%;border-bottom:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;text-indent:0pt;margin:0pt;"><b style="font-weight:bold;">Trading Symbol(s)</b></p></td><td style="vertical-align:top;width:1.72%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-indent:0pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:top;width:36.45%;border-bottom:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;text-indent:0pt;margin:0pt;"><b style="font-weight:bold;">Name of each exchange on which registered</b></p></td></tr><tr><td style="vertical-align:top;width:35.85%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt -0.25pt 0pt 35.75pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;text-indent:0pt;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="dei:Security12bTitle" id="Tc_NK53kG68IkavuRsIv-B_0A_1_0"><span style="font-size:8pt;">Common Stock</span></ix:nonNumeric></p></td><td style="vertical-align:top;width:1.72%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-indent:0pt;margin:0pt;"><span style="font-size:8pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:24.23%;border-bottom:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;text-indent:0pt;margin:0pt;"><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="dei:TradingSymbol" id="Tc_f9kJl449LkCnZ1wlCRlqjA_1_2"><span style="font-size:8pt;">INOD</span></ix:nonNumeric></p></td><td style="vertical-align:top;width:1.72%;border-bottom:1px solid #000000;border-left:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"/><td style="vertical-align:top;width:36.45%;border-bottom:1px solid #000000;border-right:1px solid #000000;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;text-indent:0pt;margin:0pt;"><span style="font-size:8pt;">The </span><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="dei:SecurityExchangeName" id="Narr_ON9iL3mrA0uprzb3IHMZIA"><span style="font-size:8pt;">NASDAQ</span></ix:nonNumeric><span style="font-size:8pt;"> Stock Market LLC</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:3pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:61.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td><td style="vertical-align:top;width:1.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td><td style="vertical-align:top;width:36.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td></tr><tr><td style="vertical-align:top;width:61.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-indent:0pt;margin:0pt;">Securities registered under Section&#160;12(g)&#160;of the Exchange Act:&#160;</p></td><td style="vertical-align:top;width:1.62%;margin:0pt;padding:0pt;"/><td style="vertical-align:top;width:36.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-indent:0pt;margin:0pt;">None</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 6pt 0pt;"><span style="font-size:8pt;">Indicate by check mark if the registrant is a well-known seasoned issuer, as defined in Rule&#160;405 of the Securities Act. Yes&#160;</span><span style="font-family:'Times New Roman';font-size:8pt;">&#9723;</span><span style="font-size:8pt;"> </span><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="dei:EntityWellKnownSeasonedIssuer" id="Narr_k5BQAi0fXE29sfA2P1YvxQ"><span style="font-size:8pt;">No</span></ix:nonNumeric><span style="font-size:8pt;">&#160;</span><b style="font-family:'Wingdings';font-size:8pt;font-weight:bold;">&#254;</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 6pt 0pt;"><span style="font-size:8pt;">Indicate by check mark if the registrant is not required to file reports pursuant to Section&#160;13 or Section&#160;15(d)&#160;of the Exchange Act. Yes&#160;</span><span style="font-family:'Times New Roman';font-size:8pt;">&#9723;</span><span style="font-size:8pt;"> </span><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="dei:EntityVoluntaryFilers" id="Narr_FIKl_DtxoEaDT2C-tYDSyw"><span style="font-size:8pt;">No</span></ix:nonNumeric><span style="font-size:8pt;">&#160;</span><b style="font-family:'Wingdings';font-size:8pt;font-weight:bold;">&#254;</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 6pt 0pt;"><span style="font-size:8pt;">Indicate by check mark whether the Registrant (1)&#160;has filed all reports required to be filed by Section&#160;13 or 15(d)&#160;of the Securities Exchange Act of 1934 during the preceding 12&#160;months (or for such shorter period that the Registrant was required to file such reports), and (2)&#160;has been subject to such filing requirements for the past 90&#160;days. </span><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="dei:EntityCurrentReportingStatus" id="Narr_TyPEPWj8bEaLHo2Jtiq7KA"><span style="font-size:8pt;">Yes</span></ix:nonNumeric><span style="font-size:8pt;">&#160;</span><b style="font-family:'Wingdings';font-size:8pt;font-weight:bold;">&#254;</b><span style="font-size:8pt;"> No&#160;</span><span style="font-family:'Times New Roman';font-size:8pt;">&#9723;</span><span style="font-size:8pt;"> </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 6pt 0pt;"><span style="font-size:8pt;">Indicate by check mark whether the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule&#160;405 of Regulation S-T (&#167;232.405 of this chapter) during the preceding 12&#160;months (or for such shorter period that the registrant was required to submit such files). </span><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="dei:EntityInteractiveDataCurrent" id="Narr_LAXKA4gacUe32Pt08I2Tew"><span style="font-size:8pt;">Yes</span></ix:nonNumeric><span style="font-size:8pt;">&#160;</span><b style="font-family:'Wingdings';font-size:8pt;font-weight:bold;">&#254;</b><span style="font-size:8pt;"> No&#160;</span><span style="font-family:'Times New Roman';font-size:8pt;">&#9723;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:justify;text-indent:0pt;margin:0pt;">Indicate by check mark whether the registrant is a large accelerated filer, an accelerated filer, a non-accelerated filer, a smaller reporting company, or an emerging growth company. See definitions of &#8220;large accelerated filer,&#8221; &#8220;accelerated filer,&#8221; &#8220;smaller reporting company&#8221; and &#8220;emerging growth company&#8221; in Rule&#160;12b-2 of the Exchange Act.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:3pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td><td style="vertical-align:top;width:25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td><td style="vertical-align:top;width:25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td><td style="vertical-align:top;width:25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td></tr><tr><td style="vertical-align:top;width:25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-indent:0pt;margin:0pt;">Large accelerated filer&#160;<span style="font-family:'Times New Roman';">&#9723;</span></p></td><td style="vertical-align:top;width:25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;text-indent:0pt;margin:0pt;">Accelerated filer&#160;<span style="font-family:'Times New Roman';">&#9723;</span></p></td><td style="vertical-align:top;width:25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;text-indent:0pt;margin:0pt;"><ix:nonNumeric format="ixt-sec:entityfilercategoryen" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="dei:EntityFilerCategory" id="Narr_x3ThwwochkaHMBuLwe57IQ"><span style="font-size:8pt;">Non-accelerated filer</span></ix:nonNumeric><span style="font-size:8pt;">&#160;</span><b style="font-family:'Wingdings';font-size:8pt;font-weight:bold;">&#254;</b></p></td><td style="vertical-align:top;width:25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;text-indent:0pt;margin:0pt;"><span style="font-size:8pt;">Smaller reporting company </span><ix:nonNumeric format="ixt-sec:boolballotbox" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="dei:EntitySmallBusiness" id="Narr_-KCe3aQJSUqbVwN_ZBifyg"><b style="font-family:'Segoe UI Symbol';font-size:9pt;font-weight:bold;">&#9745;</b></ix:nonNumeric></p></td></tr><tr><td style="vertical-align:top;width:25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-indent:0pt;margin:0pt;"><span style="font-size:8pt;">Emerging growth company&#160;</span><ix:nonNumeric format="ixt-sec:boolballotbox" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="dei:EntityEmergingGrowthCompany" id="Narr_ABdusdMg8kGK0E5VyH18HA"><span style="font-family:'Segoe UI Symbol';font-size:8pt;">&#9744;</span></ix:nonNumeric></p></td><td style="vertical-align:top;width:25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-indent:0pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-indent:0pt;margin:0pt;">&#160;</p></td><td style="vertical-align:top;width:25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-indent:0pt;margin:0pt;">&#160;</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:3pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 6pt 0pt;">If an emerging growth company, indicate by check mark if the registrant has elected not to use the extended transition period for complying with any new or revised financial accounting standards provided pursuant to Section 13(a)&#160;of the Exchange&#160;Act.&#160;<span style="font-family:'Times New Roman';">&#9723;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 6pt 0pt;">Indicate by check mark whether the registrant has filed a report on and attestation to its management&#8217;s assessment of the effectiveness of its internal control over financial reporting under Section 404(b) of the Sarbanes-Oxley Act (15 U.S.C. 7262(b)) by the registered public accounting firm that prepared or issued its audit report.&#160;<span style="font-family:'Times New Roman';">&#9723;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 6pt 0pt;"><span style="font-size:8pt;">If securities are registered pursuant to Section 12(b) of the Act, indicate by check mark whether the financial statements of the registrant included in the filing reflect the correction of an error to previously issued financial statements. </span><ix:nonNumeric format="ixt-sec:boolballotbox" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="dei:DocumentFinStmtErrorCorrectionFlag" id="Narr_SuoyVT5rU0exi4ehnS6wUA"><span style="font-family:'Segoe UI Symbol';font-size:8pt;">&#9744;</span></ix:nonNumeric></p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 6pt 0pt;">Indicate by check mark whether any of those error corrections are restatements that required a recovery analysis of incentive-based compensation received by any of the registrant&#8217;s executive officers during the relevant recovery period pursuant to &#167;240.10D-1(b). <span style="font-family:'Segoe UI Symbol';">&#9744;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 6pt 0pt;"><span style="font-size:8pt;">Indicate by check mark whether the registrant is a shell company (as defined in Rule&#160;12b-2 of the Act). Yes&#160;</span><span style="font-family:'Segoe UI Symbol';font-size:8pt;">&#9744;</span><span style="font-size:8pt;"> No&#160;</span><ix:nonNumeric format="ixt:booleanfalse" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="dei:EntityShellCompany" id="Narr_I58pPiyST0SpgU3vnlGqNw"><b style="font-family:'Segoe UI Symbol';font-size:9pt;font-weight:bold;">&#9745;</b></ix:nonNumeric><span style="font-size:8pt;"> </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 6pt 0pt;">The aggregate market value of the registrant&#8217;s common stock held by non-affiliates of the registrant (based on the closing price reported on The Nasdaq Stock Market on June&#160;30, 2023) was $<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" format="ixt:numdotdecimal" scale="0" contextRef="As_Of_6_30_2023_OyuV3U78lE6Mlcj9Xr-85g" decimals="0" name="dei:EntityPublicFloat" id="Narr_UhAk92bwZE6SoCvam3g4xQ">294,823,074</ix:nonFraction>.</p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 6pt 0pt;">The number of outstanding shares of the registrant&#8217;s Common Stock, $.01 par value, as of February 16, 2024 was <ix:nonFraction unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw" format="ixt:numdotdecimal" scale="0" contextRef="As_Of_2_16_2024_Om65y9F620qLn_wtXo9NSQ" decimals="INF" name="dei:EntityCommonStockSharesOutstanding" id="Narr_fd5SlEYDsEWoCHrb23578g">28,752,874</ix:nonFraction></p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;text-indent:0pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">DOCUMENTS INCORPORATED BY REFERENCE</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;text-indent:0pt;margin:0pt;">Portions of the Registrant&#8217;s definitive proxy statement for the 2024 Annual Meeting of Stockholders are incorporated by reference in Items 10,11,12,13 and 14 of Part&#160;III of this Form&#160;10-K.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;text-indent:36pt;margin:0pt;"><span style="font-size:6pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:2pt;font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-bottom:1pt;padding-top:1pt;border-bottom:3.0pt solid #000000;border-top:1px solid #000000;margin:0pt;"><span style="font-size:2pt;font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="display:none;font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:0pt;margin:0pt;"><span style="font-size:0pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_62758b68_b26b_4fb4_aff5_4a6f1e0fb357"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">INNODATA INC.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Form 10-K</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">For the Year Ended December 31, 2023</b></p><a id="TOC"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">TABLE OF CONTENTS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_Hlk94618826"></a><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;width:100%;"><tr><td style="vertical-align:top;width:11.37%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:81.12%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:7.5%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Page</b></p></td></tr><tr><td style="vertical-align:top;width:11.37%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:81.12%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><a href="#PARTI_671718"><b style="font-style:normal;font-weight:bold;">Part I</b></a></p></td><td style="vertical-align:top;width:7.5%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"/></tr><tr><td style="vertical-align:top;width:11.37%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a href="#Item1Business_820354"><span style="font-style:normal;font-weight:normal;">Item 1.</span></a></p></td><td style="vertical-align:top;width:81.12%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a href="#Item1Business_820354"><span style="font-style:normal;font-weight:normal;">Business</span></a></p></td><td style="vertical-align:bottom;width:7.5%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;">4</p></td></tr><tr><td style="vertical-align:top;width:11.37%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a href="#Item1ARiskFactors_510367"><span style="font-style:normal;font-weight:normal;">Item 1A.</span></a></p></td><td style="vertical-align:top;width:81.12%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a href="#Item1ARiskFactors_510367"><span style="font-style:normal;font-weight:normal;">Risk Factors</span></a></p></td><td style="vertical-align:bottom;width:7.5%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;">15</p></td></tr><tr><td style="vertical-align:top;width:11.37%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a href="#Item1BUnresolvedStaffComments_373128"><span style="font-style:normal;font-weight:normal;">Item 1B.</span></a></p></td><td style="vertical-align:top;width:81.12%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a href="#Item1BUnresolvedStaffComments_373128"><span style="font-style:normal;font-weight:normal;">Unresolved Staff Comments</span></a></p></td><td style="vertical-align:bottom;width:7.5%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;">27</p></td></tr><tr><td style="vertical-align:top;width:11.37%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a href="#Item1CCybersecurity_66097"><span style="font-style:normal;font-weight:normal;">Item 1C.</span></a></p></td><td style="vertical-align:top;width:81.12%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a href="#Item1CCybersecurity_66097"><span style="font-style:normal;font-weight:normal;">Cybersecurity</span></a></p></td><td style="vertical-align:bottom;width:7.5%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;">28</p></td></tr><tr><td style="vertical-align:top;width:11.37%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a href="#Item2Properties_639073"><span style="font-style:normal;font-weight:normal;">Item 2.</span></a></p></td><td style="vertical-align:top;width:81.12%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a href="#Item2Properties_639073"><span style="font-style:normal;font-weight:normal;">Properties</span></a></p></td><td style="vertical-align:bottom;width:7.5%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;">30</p></td></tr><tr><td style="vertical-align:top;width:11.37%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a href="#Item3LegalProceedings_777065"><span style="font-style:normal;font-weight:normal;">Item 3.</span></a></p></td><td style="vertical-align:top;width:81.12%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a href="#Item3LegalProceedings_777065"><span style="font-style:normal;font-weight:normal;">Legal Proceedings</span></a></p></td><td style="vertical-align:bottom;width:7.5%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;">30</p></td></tr><tr><td style="vertical-align:top;width:11.37%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a href="#Item4MineSafetyDisclosures_177314"><span style="font-style:normal;font-weight:normal;">Item 4.</span></a></p></td><td style="vertical-align:top;width:81.12%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a href="#Item4MineSafetyDisclosures_177314"><span style="font-style:normal;font-weight:normal;">Mine Safety Disclosures</span></a></p></td><td style="vertical-align:bottom;width:7.5%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;">30</p></td></tr><tr><td style="vertical-align:top;width:11.37%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:81.12%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><a href="#PARTII_120780"><b style="font-style:normal;font-weight:bold;">Part II</b></a></p></td><td style="vertical-align:bottom;width:7.5%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:11.37%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a href="#Item5MarketforRegistrantsCommonEquityRel"><span style="font-style:normal;font-weight:normal;">Item 5.</span></a></p></td><td style="vertical-align:top;width:81.12%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a href="#Item5MarketforRegistrantsCommonEquityRel"><span style="font-style:normal;font-weight:normal;">Market for Registrant&#8217;s Common Equity, Related Stockholder Matters and Issuer Purchases of Equity Securities</span></a></p></td><td style="vertical-align:bottom;width:7.5%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;">31</p></td></tr><tr><td style="vertical-align:top;width:11.37%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a href="#Item6Reserved_887096"><span style="font-style:normal;font-weight:normal;">Item6.</span></a></p></td><td style="vertical-align:top;width:81.12%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a href="#Item6Reserved_887096"><span style="font-style:normal;font-weight:normal;">[Reserved]</span></a></p></td><td style="vertical-align:bottom;width:7.5%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;">31</p></td></tr><tr><td style="vertical-align:top;width:11.37%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a href="#Item7ManagementsDiscussionandAnalysisofF"><span style="font-style:normal;font-weight:normal;">Item 7.</span></a></p></td><td style="vertical-align:top;width:81.12%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a href="#Item7ManagementsDiscussionandAnalysisofF"><span style="font-style:normal;font-weight:normal;">Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations</span></a></p></td><td style="vertical-align:bottom;width:7.5%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;">32</p></td></tr><tr><td style="vertical-align:top;width:11.37%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a href="#Item7AQuantitativeandQualitativeDisclosu"><span style="font-style:normal;font-weight:normal;">Item 7A.</span></a></p></td><td style="vertical-align:top;width:81.12%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a href="#Item7AQuantitativeandQualitativeDisclosu"><span style="font-style:normal;font-weight:normal;">Quantitative and Qualitative Disclosures about Market Risk</span></a></p></td><td style="vertical-align:bottom;width:7.5%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;">44</p></td></tr><tr><td style="vertical-align:top;width:11.37%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a href="#Item8FinancialStatementsandSupplementary"><span style="font-style:normal;font-weight:normal;">Item 8.</span></a></p></td><td style="vertical-align:top;width:81.12%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a href="#Item8FinancialStatementsandSupplementary"><span style="font-style:normal;font-weight:normal;">Financial Statements and Supplementary Data</span></a></p></td><td style="vertical-align:bottom;width:7.5%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;">44</p></td></tr><tr><td style="vertical-align:top;width:11.37%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a href="#Item9ChangesinandDisagreementswithAccoun"><span style="font-style:normal;font-weight:normal;">Item 9.</span></a></p></td><td style="vertical-align:top;width:81.12%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a href="#Item9ChangesinandDisagreementswithAccoun"><span style="font-style:normal;font-weight:normal;">Changes in and Disagreements with Accountants on Accounting and Financial Disclosure </span></a> </p></td><td style="vertical-align:bottom;width:7.5%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;">44</p></td></tr><tr><td style="vertical-align:top;width:11.37%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a href="#Item9AControlsandProcedures_741867"><span style="font-style:normal;font-weight:normal;">Item 9A.</span></a></p></td><td style="vertical-align:top;width:81.12%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a href="#Item9AControlsandProcedures_741867"><span style="font-style:normal;font-weight:normal;">Controls and Procedures</span></a></p></td><td style="vertical-align:bottom;width:7.5%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;">44</p></td></tr><tr><td style="vertical-align:top;width:11.37%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:81.12%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a href="#EvaluationofDisclosureControlsandProcedu"><span style="font-style:normal;font-weight:normal;">Evaluation of Disclosure Controls and Procedures</span></a></p></td><td style="vertical-align:bottom;width:7.5%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;">44</p></td></tr><tr><td style="vertical-align:top;width:11.37%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:81.12%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a href="#ManagementsAnnualReportonInternalControl"><span style="font-style:normal;font-weight:normal;">Management&#8217;s Annual Report on Internal Control over Financial Reporting</span></a> </p></td><td style="vertical-align:bottom;width:7.5%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;">44</p></td></tr><tr><td style="vertical-align:top;width:11.37%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a href="#Item9BOtherinformation_297006"><span style="font-style:normal;font-weight:normal;">Item 9B.</span></a></p></td><td style="vertical-align:top;width:81.12%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a href="#Item9BOtherinformation_297006"><span style="font-style:normal;font-weight:normal;">Other Information</span></a></p></td><td style="vertical-align:bottom;width:7.5%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;">45</p></td></tr><tr><td style="vertical-align:top;width:11.37%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a href="#Item9CHoldingForeignCompaniesAccountable"><span style="font-style:normal;font-weight:normal;">Item 9C.</span></a></p></td><td style="vertical-align:top;width:81.12%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><a href="#Item9CHoldingForeignCompaniesAccountable"><span style="font-style:normal;font-weight:normal;">Disclosure Regarding Foreign Jurisdictions that Prevent Inspections</span></a></p></td><td style="vertical-align:bottom;width:7.5%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;">45</p></td></tr><tr><td style="vertical-align:top;width:11.37%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:81.12%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><a href="#PARTIII_465627"><b style="font-style:normal;font-weight:bold;">Part III</b></a></p></td><td style="vertical-align:bottom;width:7.5%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:11.37%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a href="#Item10DirectorsExecutiveOfficersandCorpo"><span style="font-style:normal;font-weight:normal;">Item 10.</span></a></p></td><td style="vertical-align:top;width:81.12%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a href="#Item10DirectorsExecutiveOfficersandCorpo"><span style="font-style:normal;font-weight:normal;">Directors, Executive Officers and Corporate Governance</span></a></p></td><td style="vertical-align:bottom;width:7.5%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;">46</p></td></tr><tr><td style="vertical-align:top;width:11.37%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a href="#Item11ExecutiveCompensation_531235"><span style="font-style:normal;font-weight:normal;">Item 11.</span></a></p></td><td style="vertical-align:top;width:81.12%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a href="#Item11ExecutiveCompensation_531235"><span style="font-style:normal;font-weight:normal;">Executive Compensation</span></a></p></td><td style="vertical-align:bottom;width:7.5%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;">46</p></td></tr><tr><td style="vertical-align:top;width:11.37%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a href="#Item12SecurityOwnershipofCertainBenefici"><span style="font-style:normal;font-weight:normal;">Item 12.</span></a></p></td><td style="vertical-align:top;width:81.12%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a href="#Item12SecurityOwnershipofCertainBenefici"><span style="font-style:normal;font-weight:normal;">Security Ownership of Certain Beneficial Owners and Management and Related Stockholder Matters</span></a></p></td><td style="vertical-align:bottom;width:7.5%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;">46</p></td></tr><tr><td style="vertical-align:top;width:11.37%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a href="#Item13CertainRelationshipsandRelatedTran"><span style="font-style:normal;font-weight:normal;">Item 13.</span></a></p></td><td style="vertical-align:top;width:81.12%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a href="#Item13CertainRelationshipsandRelatedTran"><span style="font-style:normal;font-weight:normal;">Certain Relationships and Related Transactions, and Director Independence</span></a></p></td><td style="vertical-align:bottom;width:7.5%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;">46</p></td></tr><tr><td style="vertical-align:top;width:11.37%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a href="#Item14PrincipalAccountantsFeesandService"><span style="font-style:normal;font-weight:normal;">Item 14.</span></a></p></td><td style="vertical-align:top;width:81.12%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a href="#Item14PrincipalAccountantsFeesandService"><span style="font-style:normal;font-weight:normal;">Principal Accountant&#8217;s Fees and Services</span></a></p></td><td style="vertical-align:bottom;width:7.5%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;">46</p></td></tr><tr><td style="vertical-align:top;width:11.37%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:81.12%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><a href="#PARTIV_284649"><b style="font-style:normal;font-weight:bold;">Part IV</b></a></p></td><td style="vertical-align:bottom;width:7.5%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:11.37%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a href="#Item15ExhibitsFinancialStatementSchedule"><span style="font-style:normal;font-weight:normal;">Item 15.</span></a></p></td><td style="vertical-align:top;width:81.12%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a href="#Item15ExhibitsFinancialStatementSchedule"><span style="font-style:normal;font-weight:normal;">Exhibits and Financial Statement Schedules</span></a></p></td><td style="vertical-align:bottom;width:7.5%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;">46</p></td></tr><tr><td style="vertical-align:top;width:11.37%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a href="#Item16Form10KSummary_864079"><span style="font-style:normal;font-weight:normal;">Item 16.</span></a></p></td><td style="vertical-align:top;width:81.12%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a href="#Item16Form10KSummary_864079"><span style="font-style:normal;font-weight:normal;">Form 10-K Summary</span></a></p></td><td style="vertical-align:bottom;width:7.5%;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;">47</p></td></tr><tr><td style="vertical-align:top;width:11.37%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a href="#SIGNATURES_267162"><span style="font-style:normal;font-weight:normal;">Signatures</span></a></p></td><td style="vertical-align:top;width:81.12%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:7.5%;background:#cceeff;margin:0pt;padding:0pt 5.4pt 0pt 5.4pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;">47</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">2</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_62391a94_18de_4bad_be06_58fb6d68fe3b"></a><a id="PARTI_671718"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">PART I</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt 0pt 10pt 0pt;">Cautionary Note Regarding Forward-Looking Statements</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">Disclosures in this Annual Report on Form 10-K (this &#8220;Report&#8221;) contain certain forward-looking statements within the meaning of Section 21E of the Securities Exchange Act of 1934, as amended, and Section 27A of the Securities Act of 1933, as amended. These forward-looking statements include, without limitation, statements concerning our operations, economic performance, and financial condition. Words such as &#8220;project,&#8221; &#8220;believe,&#8221; &#8220;expect,&#8221; &#8220;can,&#8221; &#8220;continue,&#8221; &#8220;could,&#8221; &#8220;intend,&#8221; &#8220;may,&#8221; &#8220;should,&#8221; &#8220;will,&#8221; &#8220;anticipate,&#8221; &#8220;indicate,&#8221; &#8220;predict,&#8221; &#8220;likely,&#8221; &#8220;estimate,&#8221; &#8220;plan,&#8221; &#8220;potential,&#8221; &#8220;possible,&#8221; or the negatives thereof, and other similar expressions generally identify forward-looking statements.</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">These forward-looking statements are based on management&#8217;s current expectations, assumptions and estimates and are subject to a number of risks and uncertainties, including, without limitation, impacts resulting from the continuing conflict between Russia and the Ukraine and Hamas&#8217; attack against Israel and the ensuing conflict; investments in large language models; that contracts may be terminated by customers; projected or committed volumes of work may not materialize; pipeline opportunities and customer discussions which may not materialize into work or expected volumes of work; the likelihood of continued development of the markets, particularly new and emerging markets, that our services support; the ability and willingness of our customers and prospective customers to execute business plans that give rise to requirements for our services; continuing reliance on project-based work in the Digital Data Solutions (DDS) segment and the primarily at-will nature of such contracts and the ability of these customers to reduce, delay or cancel projects; potential inability to replace projects that are completed, canceled or reduced; continuing DDS segment revenue concentration in a limited number of customers; our dependency on content providers in our Agility segment; the Company&#8217;s ability to achieve revenue and growth targets; difficulty in integrating and deriving synergies from acquisitions, joint ventures and strategic investments; potential undiscovered liabilities of companies and businesses that we may acquire; potential impairment of the carrying value of goodwill and other acquired intangible assets of companies and businesses that we acquire; a continued downturn in or depressed market conditions; changes in external market factors; changes in our business or growth strategy; the emergence of new, or growth in existing competitors; various other competitive and technological factors; our use of and reliance on information technology systems, including potential security breaches, cyber-attacks, privacy breaches or data breaches that result in the unauthorized disclosure of consumer, customer, employee or Company information, or service interruptions; and the risks discussed in Part I, Item 1A. &#8220;Risk Factors&#8221;, &#8220;Part II, Item 7. &#8220;Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations,&#8221; and other parts of this Report and in our other filings that we may make with the Securities and Exchange Commission (the &#8220;SEC&#8221;).</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">Our actual results could differ materially from the results referred to in forward-looking statements. In light of these risks and uncertainties, there can be no assurance that the results referred to in the forward-looking statements will occur,&#160;and you should not place undue reliance on these forward-looking statements. These forward-looking statements speak only as of the date hereof.</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">We undertake no obligation to update or review any guidance or other forward-looking statements, whether as a result of new information, future developments or otherwise, except as may be required by the federal securities laws.</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-style:italic;visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">3</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;min-height:9.2pt;"><a id="_ce9c9232_9c8b_4132_ba69_ea93a5011a69"></a><a id="Item1Business_820354"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">Item 1. Business.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Business Overview</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Innodata Inc. (NASDAQ: INOD) (including its subsidiaries, the &#8220;Company&#8221;, &#8220;Innodata&#8221;, &#8220;we&#8221;, &#8220;us&#8221; or &#8220;our&#8221;) is a leading data engineering company. Our mission is to help the world&#8217;s most prestigious companies deliver the promise of ethical, high-performing artificial intelligence (&#8220;AI&#8221;), which we believe will contribute to a safer and more prosperous world.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Innodata was founded on a simple idea: engineer the highest quality data so organizations across broad industry segments could make smarter decisions. Today, we believe that we&#8217;re delivering the highest quality data for some of the world&#8217;s most innovative technology companies to use to train the AI models of the future.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">AI holds the promise that computers can perceive and understand the world, enabling products and services that would have been previously unimaginable and impossible with traditional coding. AI learns from data, and the highest-performing AI will have learned from the highest-quality data. We believe that we can contribute meaningfully by harnessing our capabilities, honed over 30 years, in collecting and annotating data at scale with consistency and high accuracy.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We&#8217;re also helping companies deploy and integrate AI into their operations and products and providing innovative AI-enabled industry platforms, helping ensure that our customers&#8217; businesses are prepared for a world in which machines augment human activity in ways previously unimaginable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Market Opportunities</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">AI Data Preparation</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 9pt 0pt;">AI applications are <i style="font-style:italic;">trained</i> with large quantities of data, unlike traditional computer applications that use languages such as Python and Java to tell computers what to do. AI applications <i style="font-style:italic;">learn</i> from the data through a series of regressions. Today&#8217;s highest performing AI applications (such as OpenAI&#8217;s ChatGPT) would never have been possible to build through traditional programming.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 9pt 0pt;">Data science teams at some of the largest technology companies are accelerating development of generative AI technologies that produce high quality text, code, and images in response to user prompts. At their core, they rely upon large language models (LLMs), which are deep neural networks (an artificial intelligence architecture) with billions of parameters and requiring massive amounts of training data to encode the essence of human language. They require fine-tuning through supervised learning and reinforcement learning from human feedback (RLHF) to render them suitable for specialized tasks and domains, to control hallucinations (the tendency of these models to make up things on the fly), and to minimize the risk that they generate unsafe or biased results.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 9pt 0pt;">In addition, companies across industry verticals are seeking to develop AI-based applications for an ever-increasing variety of use cases such as self-driving cars, surveillance systems, automated medical diagnostics, digital assistants, chatbots, content moderation, robotics, fraud detection and contract review.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 9pt 0pt;">Developing high-quality training data is critical for the AI to perform correctly, but often requires technology and skilled human resources that data science teams lack. Moreover, developing high-quality data takes up 80% of the time for most AI and ML projects.<sup style="font-size:8.25pt;line-height:100%;top:0pt;vertical-align:top;">1</sup></p><div style="font-family:'Times New Roman','Times','serif';font-size:8.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">1</sup> <i style="font-style:italic;">Data Preparation &amp; Labeling for AI 2020</i>, <span style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Cognilytica Research</span> (Jan. 31, 2020)</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">4</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;min-height:9.2pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Data sciences teams seek partners that can perform these data preparation functions for them at large-scale and at high quality, while using automated tools to minimize cost. As AI projects become more specialized and mission-critical and data preparation becomes increasingly complex, data science teams seek partners with deep domain knowledge and an infrastructure in which data security is assured.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">We believe that Innodata is ideally situated to partner with data science teams.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">In 2023, we expanded existing relationships and forged new relationships with several of the world&#8217;s large technology companies to support their efforts at building generative AI foundation models. For these companies, we are now providing or are poised to provide a range of scaled data solutions and services. Our scaled data solutions include providing instruction data sets for fine-tuning LLMs to understand prompts, to accept instruction, to converse, to apparently reason, and to perform the myriad of incredible feats that many of us have now experienced. We also provide reinforcement learning and reward modeling, services which are critical to provide the guardrails against toxic, bias and harmful responses, and model evaluation services. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">For social media companies, robotics companies, financial services companies, and many others, we collect or create training data, annotate training data, and train AI algorithms for working with images, text, video, audio, code and sensor data. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We utilize a variety of leading third-party tools, proprietary tools and customer tools. For text annotation, we use our proprietary data annotation platform that incorporates AI to reduce cost while improving consistency and quality of output. Our proprietary data annotation platform features auto-tagging capabilities that apply to both classical and generative AI tasks. Our platform encapsulates many of the innovations we have conceived of in the course of our 30-year history of creating high-quality data.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">In addition, because collecting real-world data is often impracticable (due to data privacy regulations or rarity of cohorts and outliers), we create high-quality synthetic data that maintains all of the statistical properties of real-world data, using a combination of domain specialists and machine technologies that leverage LLMs.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">We are presently working with five of the largest technology companies, and several of the world&#8217;s leading brands spanning multiple verticals, to enable, accelerate or enrich the services they deliver to end users around generative AI foundation models and other AI that supports chatbot assistance, facial recognition, social networking, gaming, drones, medical diagnostics and robotics, to name a few.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The AI data training market is estimated to be $2.57 billion in 2024, projected to grow at a CAGR of 18% to reach $13.45 billion by 2034,<sup style="font-size:8.25pt;line-height:100%;top:0pt;vertical-align:top;">2</sup> essentially proxying the enormous growth expected in AI system spending overall ($154 billion in 2023, $300 billion in 2026, a 27% CAGR).<sup style="font-size:8.25pt;line-height:100%;top:0pt;vertical-align:top;">3</sup> Similarly, the global data annotation tools market was valued at $1.8 billion in 2022, projected to reach $25 billion by 2032, which is a CAGR of 25%.<sup style="font-size:8.25pt;line-height:100%;top:0pt;vertical-align:top;">4</sup></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">AI Model Deployment and Integration</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We believe that over the next decade, almost all industries will be fundamentally reinvented through the advent of high-performing AI models. We help businesses leverage the latest AI technologies to achieve their goals. We develop custom AI models (where we select the appropriate algorithms, tune hyperparameters, train and validate the models, and update the models as required). We also help businesses fine-tune their own custom versions of our proprietary models and third-party foundation models (including LLMs) to address domain-specific and customer-specific use cases.</p><div style="font-family:'Times New Roman','Times','serif';font-size:8.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">2</sup> <i style="font-style:italic;">Data Labeling Solution and Services Market</i>, <span style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">FactMR </span>(Nov. 2023)</p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">3</sup> <i style="font-style:italic;">Worldwide Artificial Intelligence Systems Spending Guide,</i> <span style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">IDC</span> (Mar. 2023) </p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">4</sup> <i style="font-style:italic;">Data Annotation Tools Market, </i><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Global Market Insights</i><i style="font-style:italic;">,</i> (Apr. 2023)</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">5</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;min-height:9.2pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The current pace of AI innovation is accelerating. The algorithms and techniques used today will likely be obsolete in the next several years. Therefore, we have built our solutions and platforms in such a way as to enable us to incorporate new open source or proprietary software innovations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Many of our customers provide products and solutions that require intensive text data processing and analytics. For these customers, in addition to deploying and integrating AI models, we often provide a range of data engineering support services including data transformation, data curation, data hygiene, data consolidation, data extraction, data compliance, and master data management. For many of our longest-tenured customers, we continuously innovate and deploy models into their workflows and digital operations. We provide these services discretely and in conjunction with business process management (BPM) engagements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Our customers span a diverse range of industries and a wide range of AI use cases, benefiting from the short time-to-value and high economic returns our AI solutions and platforms offer.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The document analytics market - a subset of the overall AI market - is expected to grow at a CAGR of 48.9% from $2.38 billion in 2023 to $17.4 billion by 2028.<sup style="font-size:8.25pt;line-height:100%;top:0pt;vertical-align:top;">5</sup> Meanwhile, overall enterprise AI spend is projected to reach $270.06 billion by 2032, up from $7.02 billion in 2022, registering a CAGR of 44.1%.<sup style="font-size:8.25pt;line-height:100%;top:0pt;vertical-align:top;">6</sup></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">AI-Enabled Industry Platforms</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Our AI-enabled industry platforms address specific, niche market requirements that we believe we can innovate with AI/ML technologies. We deploy these industry platforms as software-as-a-service (SaaS) and as managed services. These platforms benefit from our technology infrastructure, our industry-specific knowledge, our strong customer relationships and experience merging technology with the business processes of our customers. To date, we have built an industry platform for medical records data extraction and transformation (which we brand as &#8220;Synodex<sup style="font-size:8.25pt;line-height:100%;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;top:0pt;vertical-align:top;">&#174;</sup>&#8221;) and an industry platform for public relations (which we brand as &#8220;Agility PR Solutions&#8221;). We are in development with an additional AI-enabled industry platform to serve financial services institutions.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Our Synodex industry platform transforms medical records into useable digital data organized in accordance with our proprietary data models or customer data models. At the end of 2023, we had 13 customers utilizing our Synodex platform. As we further integrate AI into the platform, we aim to address the needs of the healthcare sector, which is increasingly seeking to search, analyze, and interpret vast volumes of patient data, improve clinical documentation and make computer-assisted coding more efficient. The global artificial intelligence (AI) in healthcare market is forecast to reach a market size of $148.4 billion by 2029, up from $20.9 billion in 2024, with a CAGR of 48.1%.<sup style="font-size:8.25pt;line-height:100%;top:0pt;vertical-align:top;">7</sup> </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Our Agility industry platform provides marketing communications and public relations professionals with the ability to target and distribute content to journalists and social media influencers world-wide and to monitor and analyze global news (print, web, radio and TV) and social media. Agility is now ranked by software review site G2 Crowd as meeting the requirements of customers better than its two largest competitors that have combined revenues of over $1 billion.<sup style="font-size:8.25pt;line-height:100%;top:0pt;vertical-align:top;">8</sup> Agility operates in the $9.2 billion media intelligence and PR software market.<sup style="font-size:8.25pt;line-height:100%;top:0pt;vertical-align:top;">9</sup></p><div style="font-family:'Times New Roman','Times','serif';font-size:8.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">5</sup> <i style="font-style:italic;">Document Analytics Global Market Report 2024, </i><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Research and Markets</i><i style="font-style:italic;"> (Dec. 2023)</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;font-style:italic;line-height:100%;top:0pt;vertical-align:top;">6</sup><i style="font-style:italic;"> Enterprise Artificial Intelligence (AI) Market, </i><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Precedence Research</i><i style="font-style:italic;"> (Aug. 2023)</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">7</sup><i style="font-style:italic;"> Artificial Intelligence In Healthcare Market, </i><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Markets and Markets Research Private Ltd.</i><i style="font-style:italic;"> (Jan. 2024)</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">8</sup><i style="font-style:italic;"> </i><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">https://www.agilitypr.com/wp-content/uploads/2024/02/G2-Comparison-Agility-2024.pdf</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">9</sup><i style="font-style:italic;"> Media Intelligence and PR Software Market Size, </i><i style="font-style:italic;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Global Research Market,</i><i style="font-style:italic;"> (Jan. 2024)</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">6</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company&#8217;s operations are presently&#160;classified and reported in three reporting segments: Digital Data Solutions (DDS), Synodex and Agility.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Competitive Strengths</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">Our Data Quality</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We believe we achieve industry-leading data quality by leveraging our technology, our large staff of human experts, and the culture we have built over many years of providing high-quality data to the most demanding customers.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">For the past eight years, we have been designing and refining our approach for combining human experts and AI to produce large-scale, highly accurate data. In our approach, AI networks automatically perform much of the required processing and human experts perform processing that the AI cannot perform at a high level of confidence. The human output is fed back into the AI networks, which, as a result, &#8220;learn&#8221; and become &#8220;smarter&#8221; over time, achieving progressively greater levels of automation while maintaining the highest levels of quality. (<i style="font-style:italic;">See &#8220;Our Technology&#8221;, below.</i>)</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Our 4,000+ experts have deep domain knowledge in a wide diversity of data domains. They are selected on the basis of data acumen, analytical ability, and deep domain proficiency. (<i style="font-style:italic;">See &#8220;Our Global Delivery Framework&#8221;, below.</i>) </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Our culture of quality is critical to achieving and sustaining high data quality. Our culture has been cultivated over our decades of experience performing data-related tasks for leading global companies, including the four largest global information companies with which we have 10-plus year relationships building and maintaining many of their leading data products.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We maintain independent quality assurance centers that comply with the ISO 9001:2008 quality management system standards.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">Our Global Delivery Framework</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We have over 4,000 employees and associates across 31 countries. Many of them have data domain expertise in various fields, including law, sciences, health, finance, and technology and hold advanced degrees. We also have access to a large population of remote staff and freelancers that we maintain in our databases. Our delivery locations are strategically located to give us access to a diverse talent base spanning multiple time zones and more than 40 languages.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We have also invested in building a proprietary resource management platform geared specifically to managing remote staff and freelancers. Prior to the global pandemic, our operating model was to almost exclusively use full-time employees working from large production centers. Propelled by the need to shift to remote working, we are presently approximately 75% cloud-based and remote, which has enabled us to lower fixed operating costs and achieve greater scalability. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Our Technology</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Over the past eight years, we have built a technology infrastructure that automates complex data annotation and other data engineering tasks. Our technology infrastructure combines advanced dataflow, orchestration and cognitive processing, and purpose-built applications used by human experts, which we refer to as &#8220;workbenches&#8221;. This infrastructure enables us to perform data annotation and other data engineering tasks at progressively higher levels of efficiency without compromising quality as it continuously learns from human experts. <span style="background:#ffffff;">Our workbenches incorporate data verification and validation algorithms to detect human expert inconsistencies and to catch difficult auto-annotation errors such as LLM hallucinations.</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">7</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Our proprietary, state-of-the-art Goldengate platform is our core AI technology stack. Goldengate ingests unstructured data and performs a series of cognitive tasks to extract intelligence and create analytical data that people can use for generating inferences and powering analytical applications. It serves up low-code AI with transfer learning, orchestrating generative LLMs and deep learning-based sequence labeling models we have developed over the past eight years of deploying industrial deep neural networks as well as third-party foundation models. It integrates both with our internal systems and customer environments through application programming interfaces (&#8220;APIs&#8221;).</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Goldengate serves as the foundational technology for the AI projects we perform for customers, as well as the AI-under-the-hood that powers our data annotation platform and our industry platforms. One of the main benefits of the platform is that it is &#8220;low-code&#8221;, so it does not require a large number of data scientists to build models or require a data science platform to orchestrate models and update models. Using Goldengate in combination with our SMEs, we are able to build high-performing, cutting-edge models that address real-world problems. In 2021 we further AI-enabled Synodex, Agility and our data annotation platform using Goldengate; in 2022, we commercialized it further as both a customer-facing technology and as the engine under other potential industry solutions.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">To support our Agility industry platform, we have built a fully scalable, cloud-based infrastructure that powers a SaaS experience for global customers on a 24/7 basis. It includes (i) an AI/ML-powered big data media intelligence platform that indexes two billion media items per year, powering media monitoring, media enrichment, and media database APIs; (ii) a full targeting workflow platform that integrates media targeting, content curation, content distribution, integrated newswires, and a newsroom; (iii) a comprehensive database of more than one million global media influencers and journalists; (iv) a media monitoring and analytics engine; and (v) a workflow platform for media database research combining AI and machine learning to streamline research workflows for discovery and maintenance of our database.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">In January 2023, we released a module within our Agility product called PR CoPilot&#8482; that augments the work communications professionals do to generate press releases and media outreach. It leverages proprietary Innodata technology and OpenAI&#8217;s GPT large language models. We believe PR CoPilot is the first AI writing assistant built natively into a fully-integrated PR platform.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">To support our Synodex industry platform, we have built technologies for transforming imaged medical records and HL7/FHIR electronic health records (EHR) systems into digital data conforming to proprietary insurance medical data dictionaries that span diseases and impairments, diagnostic tests, and pharmacology and support industry standard codes such as ICD-10 as well as rules engines for processing, analyzing and displaying the digital data.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Our Infrastructure</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Our infrastructure supports a range of strategies to suit our customers&#8217; requirements for data security, compliance, scalability and reliability. Our user endpoints are secured with cloud-managed security solutions consisting of firewall, IDS/IPS, vulnerability scanning and patch management engines. We host data and applications in our own data centers at our operations centers, in our customers&#8217; data centers, and on third-party cloud services including Amazon Web Services (&#8220;AWS&#8221;), Microsoft Azure (&#8220;Azure&#8221;), Oracle Cloud Infrastructure (&#8220;OCI&#8221;), and Google Cloud Platform (&#8220;GCP&#8221;) that provide the benefit of &#8220;infinite scalability&#8221; of information technology resources.&#160;Our data operations are linked by multiple redundant network connections. Our Wide Area Network &#8211; along with our Local Area Networks, Storage Area Networks, Network Attached Storage and data centers &#8211; are configured with industry standard redundancy, often with more than one backup to establish 24x7 availability. In 2023, our Wide Area Network had 99.98% uptime excluding scheduled maintenance. We encrypt all sensitive information, both at rest and in transit, to the Advanced Encryption Standard (AES) 256 or similar standard, and we employ a range of security features, including industry-leading managed firewalls and intrusion detection and prevention services.&#160;(<i style="font-style:italic;">See &#8220;Information Security&#8221;, below.</i>)</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">8</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Our Breadth of Capabilities</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We are able to address customers at their highest point of need. For example, we may provide data annotation for a data sciences team at a bank that is building an AI application to manage complex loan agreements. For another banking customer with the same requirement but without access to sophisticated data sciences support, we might provide a full AI/ML solution built on our proprietary Goldengate AI platform that extracts key data points from the loan agreements and outputs normalized digital data via an API to the bank&#8217;s existing application. For still another banking customer that also lacks an application to analyze and manage the data, we might provide a data analytics platform.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Data science teams that utilize our data annotation services also often have other related needs that include data transformation, data curation, data hygiene, data consolidation, data compliance, and master data management. Unlike many of our data annotation competitors &#8211; that are essentially staffing companies &#8211; as a full-service data engineering company we are able to address these attendant requirements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">Our Legacy</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We developed our capabilities and honed our approaches progressively over the last 30 years creating high-quality data for many of the world&#8217;s most demanding information companies. Approximately eight years ago, we formed Innodata Labs, a research and development center, to research, develop and apply machine learning and emerging AI to our large-scale, human-intensive data operations. In 2019, we began packaging the capabilities that emerged from our R&amp;D efforts in order to align with several fast-growing new markets and help companies use AI/ML to drive performance benefits and business insights.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Our historical core competency in high-quality data, combined with these R&amp;D efforts in applied AI, created the foundation for the evolution of our offerings, which include AI Data Preparation, AI Model Deployment and Integration, and AI-Enabled Industry Platforms.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Our Culture</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We have developed a strong customer- and quality-centric culture over 30 years serving many of the world&#8217;s most successful companies that trust us with their data needs. We believe in communicating honestly, transparently and broadly. We are optimistic in the promise of technology to augmenting human initiative and talent. We embrace diversity (and began doing so long before it was in vogue). We prize empathy and respect in our relationships with customers and colleagues alike while at the same time honing direct communication that best promotes optimal business outcomes for our customers. We believe our culture helps us best serve our customers and helps us attract and retain top people.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Growth Strategy</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We believe that<b style="font-weight:bold;"> </b>we are living in a unique time &#8211; that AI will soon become the &#8220;brains&#8221; of our computers, our robots and our cars; and that AI will be adopted by thousands of enterprises to deliver services and products that would have been impossible with traditional coding.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">In AI, the software writes itself by learning from large amounts of data. Nowhere does the phrase &#8220;garbage in, garbage out&#8221; apply better. A data-centric approach for collection and annotation of consistent, high-quality data will separate the winners from the losers.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Our strategy<b style="font-weight:bold;"> </b>for growth is to leverage our 30+ year experience creating high quality data. We intend to align to and serve large, dynamic and rapidly growing markets related to the creation and commercialization of increasingly sophisticated AI and deployment of AI in businesses. Our solutions and platforms leverage the technology, human resources, and culture of fanaticism for data quality that we have developed over the past 30 years, as well as the AI/ML research and development we have invested in over the past eight years.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">9</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Key elements of our growth strategy include:</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Driving New Customer Acquisition</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We believe we are still in the early stages of penetrating our addressable markets. We intend to pursue new long-term, strategic customer relationships, especially with customers with large and growing commitments to AI innovation, where we can deliver a wide range of our capabilities and have meaningful impact.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Beginning in 2021, we substantially scaled our sales organization, most notably the sales organization supporting our Agility PR solutions product. In late 2021 and early 2022, we experienced challenges in retaining sales hires primarily in our Austin, Texas sales office. We have since closed that sales office, have focused on hiring and retaining sales talent in other locations and in building a data-driven sales organization. We believe that the current sales organization is operating well and will likely enable us to achieve our near-term growth targets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Expanding Relationships with Existing Customers</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We believe we have demonstrated a clear ability to &#8220;land-and-expand&#8221; within customer accounts. Once we engage with a customer within a specific line of business and specific use cases, and the customer experiences the benefits of working with us, it will often increase the number of use cases for which it engages us and expand to additional lines of business.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Continuing to Develop New Capabilities</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We intend to develop new capabilities designed around emerging customer needs and advances in AI technologies. We intend to develop additional charter customer relationships, like the ongoing relationship we formed with one of the world&#8217;s largest banks to co-develop an AI-enabled compliance platform.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Continuing to Innovate</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We believe that our ability to innovate will continue to be an important contributor to our growth and market traction. We work closely with our customers, assessing their requirements for enhancements to our existing capabilities and new capabilities with the goal of better serving them. We have well-defined roadmaps for our AI industry platforms to introduce new features and functions that we believe will enable us to generate growth by broadening the appeal of our platforms to potential new customers as well as increasing the opportunities for further expansions with existing customers.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We expect to fund these investments for growth from our internal resources and we may access capital through debt or equity financing.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Our Customers</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Our customers include leading businesses across multiple verticals including banking, insurance, financial services, technology, digital retailing and information/media.<span style="letter-spacing:-0.1pt;"> One customer in the DDS segment generated approximately 10% of the Company&#8217;s total revenues in the fiscal year ended December 31, 2023. Another customer in the DDS segment generated approximately 11% of the Company&#8217;s total revenues in the fiscal year ended December 31, 2022. No other customer accounted for 10% or more of total revenues during these periods. Further, in the years ended December 31, 2023 and 2022, revenues from non-U.S. customers accounted for 37% and 38%, respectively, of the Company&#8217;s revenues.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We have long-standing relationships with many of our customers. Our track record of delivering high-quality services helps us to solidify customer relationships. Many of our customers are recurring customers, meaning that they have continued to provide additional projects to us after our initial engagement with them.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Our agreements with our customers are in many cases terminable on 30 to 90 days&#8217; notice. A substantial portion of the services we provide to our customers is subject to their requirements.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">10</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Sales and Marketing</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We market and sell our solutions and platforms directly through our professional staff, senior management and direct sales personnel operating primarily from various locations in the U.S., Canada, the United Kingdom and Europe. In addition, we are increasingly developing and expanding our use of strategic partnerships and channel relationships for the establishment and development of new and existing customers.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">In addition to our executive-level business development professionals and sales and marketing personnel, we also deploy solutions architects, technical support experts and consultants who support the development of new customers and new customer engagements. These resources work within teams (both permanent and ad hoc) that provide support to customers.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Our marketing department and sales professionals work together to generate leads. Our sales professionals identify and qualify prospects, securing direct personal access to decision makers at existing and prospective customers. They facilitate interactions between customer personnel and our service teams to define ways in which we can assist customers with their goals. For each prospective customer engagement, we assemble a team of our senior employees drawn from various disciplines within our Company. The team members assume assigned roles in a formalized process, using their combined knowledge and experience to understand the customer&#8217;s goals and collaborate with the customer on a solution.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Our marketing organization is responsible for developing and increasing the visibility and awareness of our brand and our service offerings, defining and communicating our value proposition, generating qualified, early-stage leads and furnishing effective sales support tools.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">As part of our marketing strategy, we partner with media organizations to build awareness, establish a reputation as an industry thought leader and generate leads. Media partners include trade associations and publications, trade show producers and consulting organizations. These partnerships are particularly valuable in enterprise industries as we build our presence among digital content leaders and decision makers.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Primary marketing outreach activities include content marketing, event marketing (including exhibiting at trade shows, virtual summits, conferences and seminars), direct and database marketing, public and media relations (including speaking engagements), and web marketing (including integrated marketing campaigns, search engine optimization, search engine marketing and the maintenance and continued development of external websites).</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Sales activities include lead generation, nurturing leads, engaging in discussions with prospective customers to understand their needs, demonstrating our products, designing solutions, responding to requests for proposals, and managing account and customer relationships and activities.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Personnel from our solutions analysis group, our customer services group and our engineering services group closely support our direct sales effort. These individuals assist the sales force in understanding the technical needs of customers and providing responses to these needs, including demonstrations, prototypes, pricing quotations and time estimates. In addition, account managers from our customer service group support our direct sales effort by providing ongoing project-level support to our customers.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Competition</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Major competitors across industry verticals include Amazon Sagemaker Ground Truth, Appen, CloudFactory, Defined Crowd, Deepen.ai, Telus, Samasource, and Scale AI, several of which are large firms with established customer bases, as well as technology service providers such as Cognizant Technology Solutions, ExlService Holdings, Inc., Genpact Limited, Infosys, and Tata Consultancy Services. </p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">11</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">We compete by offering high-quality, competitively-priced solutions that leverage our technical platforms, IT infrastructure, offshore domain experts and economies of scale. Our competitive advantages are especially attractive to customers for undertakings that are complex, mission-critical, sizable in scope or scale, or that require high levels of information security. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Each of our industry platforms has its discrete set of competitors. Major competitors for our Synodex industry platform are Risk Righter, eNoah, Parameds and a few BPO companies, several of which are large firms with established customer bases. We also compete with in-house personnel at existing or prospective customers who may attempt to duplicate our services in-house or use alternative approaches to fulfill their needs. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Our Agility industry platform competes with Meltwater, Cision, Kantar, and Intrado, several of which are large firms with established customer bases, as well as PR firms that provide media monitoring and analysis services and journalist and influencer databases. Our competitors also include social media listening companies and start-ups offering platforms to amplify messages by targeting social media influencers. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Intellectual Property</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">We depend, in part, upon our proprietary technologies and methodologies, including our Goldengate AI platform, various applications of our platforms, our proprietary data models and other intellectual property rights. We have a patent and several patent applications pending and believe that the duration of these patents is adequate relative to the expected lives of their applications. We rely on a combination of trade secret, license, nondisclosure and other contractual agreements and copyright and trademark laws to protect our intellectual property rights. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">We enter into confidentiality agreements with our employees, contractors and customers, and limit access to and distribution of our proprietary information and that of our customers. We cannot assure that these arrangements will be adequate to deter misappropriation of our proprietary information or that we will be able to detect unauthorized use and take appropriate steps to enforce our intellectual property rights.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Information Security</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Our operations facilities in Asia and our data centers are certified to information security management standard - ISO27001:2013. We have deployed multi-layered security consisting of a wide range of security controls and measures such as two-factor authentication, patch management, full disk encryption system, anti-virus with firewall and IDS/IPS capability, redundant next generation firewalls with intrusion detection and prevention feature sets, and we utilize appropriately certified cloud resources. When we are processing personally identifiable information covered by HIPAA, we utilize U.S.-based, co-located data centers or HIPAA compliant cloud computing services with advanced data encryption (AES 256 or comparable) applied to data at rest and in motion. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Government Regulation</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">We are subject to a number of U.S. federal and state and foreign laws and regulations that relate to our business, including those governing privacy and data protection. We comply with the requirements of the United States Health Insurance Portability and Accountability Act of 1996 as amended (including by the Health Information Technology for Economic and Clinical Health Data (HITECH)) (HIPAA), the United Kingdom&#8217;s General Data Protection Regulation as tailored by the Data Protection Act 2018, the EU General Data Protection Regulation, and local laws regulating data privacy, as applicable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Research and Development</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Our Innodata Labs researches and develops AI-based technologies that we utilize in our operations and with our customers. The Innodata Labs team is comprised of data scientists, including data scientists who have published leading papers on discrete topics in data science and have earned PhD degrees in fields such as data entity extraction.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">12</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Our product engineering teams also engage in research and development efforts focused on enhancing the functionality and utility of our AI industry platforms, addressing new use cases and developing additional innovative technologies. Timely development of new functionality to support existing and new use cases is essential to maintaining our competitive position, and we release new versions of our software on a regular basis.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Customer feedback enables us to ensure that we stay aligned to our customers&#8217; priorities and that we stay ahead of market needs. Our culture of innovation helps us attract and retain a highly motivated and talented team of AI experts and technologists. Our research and development center spans several geographical locations across North America and Asia-Pacific.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">In mid-2022, we formed an Advisory Board dedicated to helping drive growth through innovation initiatives and advancing dialogue related to ethical AI and the future of AI technologies. The advisory board is currently comprised by a Chief Data Officer for Microsoft and the director of University of Michigan&#8217;s Artificial Intelligence Laboratory. We will likely consider adding additional members to our advisory board from time to time.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Environmental, Social, and Governance</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We have built a robust corporate ESG program focused on social responsibility; improving how we perform as a steward of the environment; and sustainability.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">Social Responsibility</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">We are driven by the vision of ushering in an era of broadly distributed, sustainable prosperity that can result from ethical AI and broad access to the benefits of AI. We launched our i-Hope Program in 2016 to help children in marginalized or economically-disadvantaged communities face the challenges of an increasingly AI-driven world. Our goal was to provide the gift of computer literacy to 25,000 children by 2025. We are proud to report that we attained our goal in the third quarter of 2023, with one of our operating subsidiaries handing over a smart classroom, an ideation room, and an open library (with over 80,000 books) to a publicly-funded higher education institution in the Philippines.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">From 2016 to 2023, our employees contributed over 2,900 person days to the program, building 22 fully-functional computer labs and smart classrooms across India, the Philippines, and Sri Lanka. As a result of i-Hope, we believe approximately 40,400 children in these communities are now more technology proficient and better prepared to participate in opportunities that AI presents. Our contributions have been well-recognized. In 2023 we (through our operating subsidiaries) received, for the third time in four years, the Circle of Excellence Award for CSR Company of the Year at the Asia CEO Awards-2023.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Environmental Stewardship</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><span style="background:#ffffff;">We are also committed to conducting our business in a manner that manages environmental issues responsibly and contributes to global efforts to curb carbon emissions. We fulfill this commitment by our efforts to conduct operations in an environmentally-sound manner.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;background:#ffffff;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">13</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><span style="background:#ffffff;">We have set metrics to monitor and target the reduction of greenhouse gas emissions, energy usage, and water usage. We believe that this monitoring has enabled us to improve our sustainability program continuously. We track and share with customers our emissions data for scopes 1, 2, and 3.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><span style="background:#ffffff;">Across all our global operations, we recycle e-waste and paper. In India, the Philippines, and Sri Lanka,</span> <span style="background:#ffffff;">we sponsor grass-roots efforts designed to preserve the environment in the communities in which we operate and we have planted over 3,800 saplings in nature reserves in 2023, for a total of over 6,000 saplings since 2018. Our program has practices in place to ensure that the saplings will receive proper care and attention during their initial growth phase, which is crucial for their long-term survival.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;background:#ffffff;">Sustainability</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><span style="background:#ffffff;">Our sustainability program is based on the following core elements: health and safety, business continuity management, information security, labor standards, anti-bribery and corruption, and management engagement and social impact. Our sustainability program is backed by ISO&#160;27001:2013 (information security) certification, policies, and employee training for these core areas. </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;letter-spacing:-0.1pt;">Employees</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;min-height:12.0pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><span style="letter-spacing:-0.1pt;">As of December 31, 2023, we employed 4,325 employees, 4,296 of which were full-time. Many of our employees hold advanced degrees in specialized fields such as law, business, technology, medicine, and social sciences. No employees are currently represented by a labor union, and we believe that our relations with our employees are satisfactory.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Corporate Offices</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><span style="letter-spacing:-0.1pt;">Our principal executive offices are located at 55 Challenger Road, Ridgefield Park, New Jersey 07660, just outside New York City, and our telephone number is (201) 371-8000. </span>We were founded in 1988.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;min-height:12.0pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="letter-spacing:-0.1pt;">Our website is </span><span style="letter-spacing:-0.1pt;">www.innodata.com</span><span style="letter-spacing:-0.1pt;">; information contained on our website is not included as a part of, or incorporated by reference into, this Annual Report on Form 10-K. There we make available, free of charge, our Annual Report on Form 10-K, Quarterly Reports on Form 10-Q, Current Reports on Form 8-K, and any amendments to those reports, as soon as reasonably practicable after we electronically file that material with, or furnish it to, the SEC. Our SEC reports can be obtained through the Investor Relations section of our website or from the Securities and Exchange Commission at </span><span style="letter-spacing:-0.1pt;">www.sec.gov</span><span style="letter-spacing:-0.1pt;">.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">14</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_ff49b3a7_95cd_4eab_b1a9_4edd2d7c3eda"></a><a id="Item1ARiskFactors_510367"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">Item 1A. Risk Factors.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">The risk factors set forth below describe what the Company believes to be the material factors, risks, and uncertainties related to our business, financial condition, and results of operations. The risks and uncertainties set forth below, as well as other factors described elsewhere in this Form 10-K or in other filings by the Company with the SEC, could adversely affect the Company&#8217;s business, financial condition and results of operations. Additional risks and uncertainties that are not currently known to the Company or that are not currently believed by the Company to be material may also harm the Company&#8217;s business, financial condition and results of operations.</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Risks </b><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Related to Our Business and Operations</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">We have historically relied on a limited number of customers that have accounted for a significant portion of our revenues, and our results of operations could be adversely affected if we were to lose one or more of these significant customers.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We have historically relied on a limited number of customers that have accounted for a significant portion of our revenues. One customer in the DDS segment generated approximately 10% of the Company&#8217;s total revenues in the fiscal year ended December 31, 2023. Another customer in the DDS segment generated approximately 11% of the Company&#8217;s total revenues in the fiscal year ended December 31, 2022. No other customer accounted for 10% or more of total revenues during these periods. Further, in the years ended December 31, 2023 and 2022, revenues from non-U.S. customers accounted for 37% and 38%, respectively, of the Company&#8217;s revenues. We may lose one or more of these customers, or our other major customers, as a result of our failure to meet or satisfy our customer&#8217;s requirements, the completion or termination of a project or engagement, or the customer&#8217;s selection of another service provider.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">In addition, the volume of work performed for our major customers may vary from year to year, and services they require from us may change from year to year. They may also request that we modify certain key terms of our agreements with them as a condition of continuing to do business with us. If the volume of work performed for our major customers varies, if the services they require from us change, or if they require price concessions, our revenues and results of operations could be adversely affected, and we may incur a loss from operations. If certain key terms of our agreements with our major customers are modified, our revenues and results of operations may be adversely affected. Our services are typically subject to customer requirements, and in many cases are terminable upon 30 to 90 days&#8217; notice. The loss of these customers or a significant variation in the volume of work performed for these customers may have a material adverse effect on our business, financial condition and results of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">A portion of our services is provided on a non-recurring basis for specific projects, and our inability to replace large projects when they are completed or otherwise terminated has adversely affected, and could in the future adversely affect, our revenues and results of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We provide a portion of our services for specific projects that generate revenues that terminate on completion of a defined task. While we seek, whenever possible, on completion or termination of large projects, to counterbalance periodic declines in revenues with new arrangements to provide services to the same customer or others, our inability to obtain sufficient new projects to counterbalance any decreases in such work may adversely affect our future revenues and results of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">New acquisitions, joint ventures or strategic investments or partnerships could harm our operating results.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We may pursue acquisitions, joint ventures or engage in strategic investments or partnerships to grow and enhance our capabilities. There can be no assurance that we will successfully consummate any acquisitions or joint ventures, or realize profit from strategic investments, or achieve desired financial and operating results. Further, such activities involve a number of risks and challenges, including proper evaluation, diversion of management&#8217;s attention and proper integration with our current business. Accordingly, we might fail to realize the expected benefits or strategic objectives of any such venture we undertake. If we are unable to complete the kind of acquisitions for which we plan, we may not be able to achieve our planned rates of growth, profitability or competitive position in specific markets or services.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">15</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">Our new customers may sunset their products because of a lack of sufficient revenues or declining revenues, or a change in their business direction, and this may result in termination of our services for these customers.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">As we obtain new opportunities and win new business, our customers may not generate the level of revenues that we initially anticipated at the time of signing a contract with them. Our customers may experience declining revenues with their existing products or may change their business direction. This could be due to various reasons beyond our or their control, and it could lead to termination of projects or contracts. As we normally invest in people and technology and incur other costs in anticipation of revenues, any such deviation from our expected plan or anticipated results could impact our margins and earnings.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">Our success is dependent on our ability to successfully develop new services, platforms and solutions and enhance our existing services, platforms and solutions, and market acceptance of these offerings. Our success is also dependent on our ability to compete with new vendors with lean cost and flexible cost models.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The information technology and artificial intelligence (AI) industries are characterized by rapid technological change, evolving industry standards, changing customer preferences, new product and service introductions and the emergence of new vendors with lean cost and flexible cost models. Our future success will depend on our ability to successfully develop services, platforms and solutions that keep pace with changes in our addressable markets, and the acceptance of these services, platforms and solutions by our existing and target customers. We cannot guarantee that we will be successful in developing new services, platforms and solutions, addressing evolving technologies on a timely or cost-effective basis or, if these services, platforms and solutions are developed, that we will be successful in the marketplace. We also cannot guarantee that we will be able to compete effectively with new vendors offering lean cost and flexible cost models, or that products, services or technologies developed by others will not render our services, platforms and solutions non-competitive or obsolete. Our failure to address these developments could have a material adverse effect on our business, results of operations and financial condition.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">We operate in highly competitive markets. While we invest in developing and pursuing new services, platforms and solutions, our profitability could be reduced if these services, platforms and solutions do not yield the profit margins we expect, or if the new offerings do not generate the planned revenues.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The markets for our services, platforms and solutions are highly competitive. Some of our competitors have longer operating histories, significantly greater financial, human, technical and other resources, and greater name recognition than we do. There are relatively few barriers preventing companies from entering the markets in which we operate. As a result, new market entrants also pose a threat to our business. We also compete with in-house personnel at current and prospective customers who may attempt to duplicate our offerings using their own personnel.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We have made and continue to make significant investments towards building out new capabilities to pursue growth, including, for example, our investments in large language models. These investments increase our costs, and if these new capabilities do not yield the revenues or profit margins we expect, and we are unable to grow our business and revenue proportionately, our profitability may be reduced, or we may incur losses. If we are not able to compete effectively in the markets we serve or if we are not able to successfully develop new services, platforms and solutions, our revenues and results of operations could be adversely affected.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">We depend on third-party technology in the provision of our services.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We rely upon certain software that we license from third parties, including software integrated with our internally developed software used in the provision of our services. These third-party software licenses may not continue to be available to us on commercially reasonable or competitive terms, if at all. The loss of, or inability to maintain or obtain any of these software licenses, could result in delays in the provision of our services until we develop, identify, license and integrate equivalent software. Any delay in the provision of our services could damage our business and adversely affect our results of operations. In addition, our Company utilizes third party data centers to serve our customers and generate revenue. Any disruption in the provision of services from these data centers could result in loss of revenue, customer dissatisfaction and loss of customers.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">16</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">Our Agility segment relies on third parties to provide certain content and data for our solutions. The cessation by third parties to provide their content has adversely affected, and could in the future adversely affect, our revenue and results of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Our Agility segment relies on third parties to provide or make available certain data for our information databases and our news and social media monitoring service. These third parties, in the past, have restricted access to certain content and have ceased providing content, and they may not renew agreements to provide content to us or may increase the price they charge for their content. Additionally, the quality of the content provided to us may not be acceptable to us and we may need to enter into agreements with additional third parties. In the event we are unable to use or have access to such third-party content or are unable to enter into agreements with new third parties, current customers may discontinue their relationship with us, and it may be difficult to acquire new customers.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">Our businesses are reliant on key employees, and we may face high attrition in our talent. We may not be able to replace displaced talent with new talent on a timely basis or with equivalent skill sets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We are, to a considerable degree, reliant on the continuing leadership of our Chief Executive Officer and would be materially and adversely affected should he unexpectedly cease to be employed by us. In addition, our businesses are subject to fierce competition for talent, which could result in high attrition of our employees, or we may not be able to find the requisite talent to operate our businesses. A significant increase in the attrition rate among employees with specialized skills could decrease our operating efficiency and productivity. Our failure to attract, train and retain personnel with the qualifications necessary to fulfill the needs of our existing and future customers or to assimilate new employees successfully could have a material adverse effect on our business, results of operations, financial condition and cash flows. In addition, fluctuations in our business may require that we lay off employees with possible negative effects on employee morale. We try to minimize these risks by actively promoting employee relationships and offering competitive salaries, but if we cannot mitigate these risks, our business and our operating performance could be adversely affected.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">We operate from multiple locations and our employees are very diverse, so we have significant coordination risks.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We are headquartered in Ridgefield Park, New Jersey, just outside New York City. We primarily operate from the Philippines, India, Sri Lanka, Canada, the United Kingdom, Israel, the United States, and Germany. Our employees are geographically dispersed, as well as culturally diverse. Our personnel need to work together to successfully execute our business plans and we invest in various measures to improve coordination and teamwork. Should we fail in these efforts, our ability to execute our business plans may be adversely affected.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">Our intellectual property rights are valuable and if we are unable to protect them or are subject to intellectual property rights claims, our business may be harmed.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Our intellectual property rights include certain&#160;trademarks, trade secrets, domain name registrations, and a patent. Although we take precautions to protect our intellectual property rights, these efforts may not be sufficient or effective. If we are unable to protect our intellectual property, we may experience difficulties in achieving and maintaining brand recognition.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">17</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">Disruptions in telecommunications, system failures, data corruption or virus attacks could harm our ability to execute our global resource model, which could result in customer dissatisfaction and a reduction of our revenues.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We use a distributed global resource model. Our North American workforce provides services from the U.S. and Canada, and the balance of our workforce provides services from the Philippines, India, Sri Lanka, the United Kingdom, Israel and Germany. Our global facilities are linked with a telecommunications network that uses multiple service providers. We may not be able to maintain active voice and data communications between our various facilities and our customers&#8217; sites at all times due to disruptions in these networks, system failures, data corruption or virus attacks. Any significant failure in our ability to communicate, or the availability of our platforms, could result in a disruption in our business, which could hinder our performance, or our ability to complete customer projects on time, or provide services to our customers. This, in turn, could lead to customer dissatisfaction and have an adverse effect on our business, results of operations and financial condition.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Even though we have implemented network security measures, our information technology systems may be vulnerable to computer viruses, cyber-attacks, break-ins and similar disruptions from unauthorized tampering or intentional and unintentional disclosure of sensitive and /or confidential personal information by employees and non-employees. Additionally, the Company may not be able to effectively identify and resolve such issues on a timely basis. The occurrence of any of the events described above could result in interruptions, delays, the loss or corruption of data, cessations in the availability of systems or liability under privacy laws or contracts, each of which could have a material adverse effect on our financial position and results of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">The international nature of our operations subjects us to risks inherent in doing business on an international level, any of which could increase our costs and hinder our growth.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We do business on an international level, with a major portion of our operations carried on in India, the Philippines, and Sri Lanka, in addition to our operations in Canada, Germany, Israel, the United Kingdom, and the United States, while our headquarters are in the United States and our customers are primarily located in North America and Europe. While we do not depend on significant revenues from sources internal to the Asian countries in which we operate, we are nevertheless subject to certain adverse economic factors relating to overseas economies generally, including inflation, external debt, a negative balance of trade and underemployment. In certain of the countries in which we operate, tax authorities have exercised, and may continue to exercise, significant discretionary and arbitrary powers to make tax demands or decline to refund payments that may be due to us as per tax returns. Other risks associated with our international operations and business activities include:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">difficulties in staffing international projects and managing international operations, including overcoming logistical and communications challenges;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">local competition, particularly in the Philippines, India and Sri Lanka;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">imposition of public sector controls;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">trade and tariff restrictions;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">price or exchange controls;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">currency control regulations;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">foreign tax consequences;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">data privacy laws and regulations;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">evolving regulation of artificial intelligence;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">intellectual property laws and enforcement practices;</span></td></tr></table></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">18</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">labor disputes and related litigation and liability;</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">limitations on repatriation of earnings; and</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">changing laws and regulations, occasionally with retroactive effect.</span></td></tr></table><div style="margin-top:10pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">One or more of these factors could adversely affect our business, financial condition, and results of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">Political uncertainty, political unrest, terrorism, and natural calamities in the Philippines, India, Sri Lanka and Israel could adversely affect business conditions in those countries, which in turn could disrupt our business and adversely impact our results of operations and financial condition.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Our operations located in India, Israel, the Philippines and Sri Lanka are in countries that remain vulnerable to disruptions from political uncertainty, political unrest, terrorist acts, and natural calamities.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Any damage to our network and/or information systems would damage our ability to provide services, in whole or in part, and/or otherwise damage our operations&#160;and could have an adverse effect on our business, financial condition or results of operations. Further, political tensions and escalation of hostilities in any of these countries could adversely affect our operations in these countries and therefore adversely affect our revenues and results of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">While the October 2023 Hamas attack against Israel and the ensuing conflict has not to date negatively impacted our operations in Israel, continued or escalating conflict in the region could disrupt our operations in Israel and could have a broader impact that extends into other markets where we do business. We are unable to predict whether acts of international terrorism, war or other military actions involving the countries in which we do business will result in any long-term commercial disruptions or if such involvement or responses will have any long-term material adverse effect on our business, results of operations, or financial condition.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">Terrorist attacks or a war could adversely affect our results of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Terrorist attacks and other acts of violence or war could affect us or our customers by disrupting normal business practices for extended periods of time and reducing business confidence. In addition, acts of violence or war may make travel more difficult and may effectively curtail our ability to serve our customers&#8217; needs, any of which could adversely affect our results of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Our global operations expose us to risks associated with public health crises. Public health crises or outbreaks of pandemics could disrupt our operations and materially and adversely affect our results of operations and financial condition.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We use a distributed global resource model, which exposes us to risks associated with public health crises, such as pandemics and epidemics. Widespread outbreaks of a pandemic, such as the COVID-19 pandemic, have created significant global economic downturn, disrupted global trade and supply chains, adversely impacted many industries, and contributed to significant volatility in financial markets. While we experienced limited operational disruption and decline in customer demand for services as a result of the COVID-19 pandemic, a public health crisis or an outbreak of a pandemic in one or more of the geographic areas in which we operate could affect our ability to provide services to our customers and adversely affect our results of operations and financial condition.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">We may face various risks associated with shareholder activists or shareholder demands for better performance<span style="font-style:italic;">.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">There is no assurance that we will not be subject to shareholder activism or demands. Such activities could interfere with our ability to execute our strategic plan, be costly and time-consuming, disrupt our operations, and divert the attention of management and our employees.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">19</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">We are the subject of continuing litigation, including litigation by certain of our former employees.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">In 2008, a judgment was rendered in the Philippines against a Philippine subsidiary of the Company that is no longer active and purportedly also against Innodata Inc., in favor of certain former employees of the Philippine subsidiary. The potential payment amount aggregates to approximately $5.9 million, plus legal interest that accrued at 12% per annum from August 13, 2008 to June 30, 2013, and thereafter accrued and continues to accrue at 6% per annum. The potential payment amount as expressed in U.S. dollars varies with the Philippine peso to U.S. dollar exchange rate. In December 2017, a group of 97 of the former employees of the Philippine subsidiary indicated that they proposed to record the judgment as to themselves in New Jersey. In January 2018, in response to an action initiated by Innodata Inc., the United States District Court for the District of New Jersey (&#8220;USDC&#8221;) entered a preliminary injunction that enjoins these former employees from pursuing or seeking recognition or enforcement of the judgment against Innodata Inc. in the U.S. during the pendency of the action and until further order of the USDC. In June 2018, the USDC entered a consent order administratively closing the action subject to return of the action to the active docket upon the written request of Innodata Inc. or the former employees, with the USDC retaining jurisdiction over the matter and the preliminary injunction remaining in full force and effect. The principal relevant cases in the Philippines are Court of Appeals Case Nos. CA-G.R. SP No. 93295 Innodata Employees Association (IDEA), Eleanor Tolentino, et al. vs. Innodata Philippines, Inc., et al., and CA-G.R. SP No. 90538 Innodata Philippines, Inc. vs. Honorable Acting Secretary Manuel G. Imson, et al. (28 June 2007), the Department of Labor and Employment National Labor Relations Commission, Republic of the Philippines (NLRC-NCR-Case No.07-04713-2002, et al., Innodata Employees Association (IDEA) and Eleanor A. Tolentino, et al. vs. Innodata Philippines, Inc., et al), and the Department of Labor and Employment Office of the Secretary of Labor and Employment, Republic of the Philippines (Case No. OS-AJ-0015-2001, In Re: Labor Dispute at Innodata Philippines, Inc.). The U.S. District Court action is Civil Action No.: 2:17-cv-13268-SDW-LDW Innodata Inc. v. Myrna C. Augustin-Simon; et al.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We are also subject to various other legal proceedings and claims that have arisen in the ordinary course of business.&#160;While we believe that we have adequate reserves for those losses that we believe are probable and can be reasonably estimated, the ultimate results of legal proceedings and claims cannot be predicted with certainty.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">While we currently believe that the ultimate outcome of these proceedings will not have a material adverse effect on our consolidated financial position or overall trends in our consolidated results of operations, litigation is subject to inherent uncertainties. Substantial recovery against us in the above- referenced Philippines action could have a material adverse impact on us, and unfavorable rulings or recoveries in the other proceedings could have a material adverse impact on the consolidated operating results of the period in which the ruling or recovery occurs. In addition, our estimate of the potential impact on our consolidated financial position or overall consolidated results of operations for the above - referenced legal proceedings could change in the future. See &#8220;Legal Proceedings&#8221;.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">Our reputation could be damaged, or our profitability could suffer if we do not meet the controls and procedures in respect of the services, platforms and solutions we provide to our customers, or if we contribute to our customers&#8217; internal control deficiencies.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Our customers may perform audits or require us to perform audits, provide audit reports or obtain certifications with respect to the controls and procedures that we use in the performance of services for such customers, especially when we process data or information belonging to them. Our ability to acquire new customers and retain existing customers may be adversely affected and our reputation could be harmed if we receive a qualified opinion, or if we cannot obtain an appropriate certification or opinion with respect to our controls and procedures in connection with any such audit in a timely manner. Additionally, our profitability could suffer if our controls and procedures were to fail or impair our customers&#8217; ability to comply with their own internal control requirements.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">20</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">In the past we have determined that our disclosure controls and procedures were not effective. If in the future we again determine that our disclosure controls and procedures are not effective, this could cause investors to lose confidence in our reported financial information and have a negative effect on the market prices for our common stock.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We are required to maintain disclosure controls and procedures designed to provide reasonable assurance that material information required to be disclosed by us in the reports we file or submit under the Securities Exchange Act of 1934 is recorded, processed, summarized and reported within the time periods specified in the SEC&#8217;s rules and forms, and that the information is accumulated and communicated to our management, including our principal executive officer and principal financial officer, as appropriate to allow timely decisions regarding required disclosure. We performed an evaluation, under the supervision and with the participation of our management, including our principal executive officer and principal financial officer, of the effectiveness of the design and operation of our disclosure controls and procedures as of December 31, 2023 and concluded that our disclosure controls and procedures were effective as of December 31, 2023.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">If in the future we determine that our disclosure controls and procedures are ineffective, it could restrict our ability to access the capital markets, require significant resources to correct, subject us to fines, penalties or judgments, harm our reputation or otherwise cause a decline in investor confidence and cause a decline in the market price of our common stock.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Risks Related to Our Contracts</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">A portion of our revenue is generated from projects that we characterize as recurring in nature. Projects that we characterize as recurring are nevertheless subject to termination.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Our operating performance is materially dependent on the continuation of these projects. However, we are exposed to the risks that these projects may not be renewed by our customers or they could be terminated by our customers and we may not be able to replace these terminated projects with new recurring projects with similar profitability or customers may ask for a price reduction, which could adversely affect our revenue and results of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">Our solutions for the Agility segment are sold pursuant to subscription agreements, and if subscription customers elect either not to renew these agreements, or to renew these agreements for less expensive services, our revenues and results of operations will be adversely affected.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Our Agility segment derives its revenues primarily from subscription arrangements. Our customers may choose not to renew subscription agreements when they expire or may renew them at lower prices or for a significantly narrower scope of work. If large numbers of existing subscription customers do not renew these agreements or renew these agreements on terms less favorable to us, and if we cannot replace or supplement those non-renewals with new subscription agreements generating the same or greater levels of revenue, our revenues and results of operations will be adversely affected.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">If our customers are not satisfied with our services, they may terminate our contracts with them or our services and we may suffer reputational damage, which could have an adverse impact on our business.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Our business model depends in large part on our ability to attract additional work from our base of existing customers. Our business model also depends on the relationships our account teams develop with our customers so that we can understand our customers&#8217; needs and deliver solutions and services that are tailored to those needs. If a customer is not satisfied with the quality of work performed by us, or with the type of services or solutions delivered, then we could incur additional costs to address the situation, the profitability of that work might be impaired, and the customer&#8217;s dissatisfaction with our services could damage our ability to obtain additional work from that customer. In particular, customers who are not satisfied might seek to terminate existing contracts, which could mean that we could incur costs for the services performed with no associated revenue upon termination of a contract. This could also direct future business to our competitors. In addition, negative publicity related to our customer services or relationships, regardless of its accuracy, may further damage our business by affecting our reputation and our ability to compete for new contracts with current and prospective customers.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">21</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Risks Related to Financial Performance or General Economic Conditions</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">Debt under our Revolving Credit Facility has a variable rate of interest that is based on SOFR which may have consequences for us that cannot be reasonably predicted and may increase our cost of borrowing in the future.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><span style="font-weight:normal;">Debt outstanding under our Revolving Credit Facility has a variable rate of interest that is based on the secured overnight financing rate (&#8220;SOFR&#8221;) which may have consequences for us that cannot be reasonably predicted and may increase our cost of borrowing in the future. The future performance of SOFR cannot be predicted based on historical performance and the future level of SOFR may have little or no relation to historical levels of SOFR. Any patterns in market variable behaviors, such as correlations, may change in the future. Hypothetical or historical performance data are not indicative of, and have no bearing on, the potential performance of SOFR.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">Our Revolving Credit Facility contains restrictive covenants that may impair our ability to conduct business.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><span style="font-weight:normal;">Our Revolving Credit Facility contains operating covenants and financial covenants that may in each case limit management&#8217;s discretion with respect to certain business matters. For example, the Revolving Credit Facility contains a financial covenant that required us, on a consolidated basis, to maintain a fixed charge coverage ratio of not less than 1.10 to 1.00 by December 31, 2023. As a result of these covenants and restrictions, we may be limited in how we conduct our business, and we may be unable to raise additional debt or other financing to compete effectively or to take advantage of new business opportunities. The terms of any future indebtedness we may incur could include more restrictive covenants. Failure to comply with such restrictive covenants may lead to default and acceleration under our Revolving Credit Facility and may impair our ability to conduct business. We may not be able to maintain compliance with these covenants in the future and, if we fail to do so, there are no assurances that we will be able to obtain waivers from the lender and/or amend the covenants.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">A large portion of our accounts receivable are payable by a limited number of customers; the inability of any of these customers to pay its obligations could adversely affect our results of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Several significant customers account for a large percentage of our accounts receivable. If any of these customers were unable, or refused, for any reason, to pay our accounts receivable, our financial condition and results of operations could be materially adversely affected. As of December 31, 2023, 53% or $7.5 million of our accounts receivable was due from three customers.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">In addition, we evaluate the financial condition of our customers prior to extending credit to them. We maintain specific allowances against doubtful receivables. Actual losses on customer balances could differ from those that we currently anticipate and, as a result, we might need to adjust our allowances. There is no guarantee that we will accurately assess the creditworthiness of our customers. Macroeconomic conditions could also result in financial difficulties, including limited access to the credit markets, insolvency or bankruptcy, for our customers, and, as a result, could cause customers to delay payments to us, request modifications to their payment arrangements that could increase our receivables balance, or default on their payment obligations to us. If we are unable to timely collect from our customers, our cash flows could be adversely affected.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">Quarterly fluctuations in our revenues and results of operations could make financial forecasting difficult and could negatively affect our stock price.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We have experienced, and expect to continue to experience, significant fluctuations in our quarterly revenues and results of operations. During the past eight quarters, our net income (loss) ranged from net income of approximately $1.7 million in the fourth quarter of 2023 to a loss of approximately $3.8 million in the second quarter of 2022.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We experience fluctuations in our revenue and results of operations as we replace and begin new projects, which may have some normal start-up delays, or we may be unable to replace a project entirely or on terms that are as attractive to us as the project that is being replaced. These and other factors may contribute to fluctuations in our results of operations from quarter to quarter.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">22</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">A high percentage of our operating expenses, particularly personnel and rent, are relatively fixed in advance of any particular quarter. As a result, unanticipated variations in the number and timing of our projects, or in employee wage levels and utilization rates, may cause us to significantly underutilize our production capacity and employees, resulting in significant variations in our operating results in any particular quarter, and have resulted in losses.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">Weakness in the global economy, and in particular in the United States, Europe and the United Kingdom, could negatively impact our revenue and operating results.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The United States, Europe, the United Kingdom and other economies may suffer from uncertainty, volatility, disruption, and other adverse conditions, such as inflation, and these conditions have adversely impacted and may continue to adversely impact the business community and the financial markets. Adverse economic and financial market conditions may negatively affect our customers and our markets, thereby negatively impacting our revenue and operating results. For example, weak market conditions have extended, and could continue to extend, the length of our sales cycle and cause potential customers to delay, defer, or decline to make purchases of our services, platforms, and solutions due to uncertainties surrounding the future performance of their businesses, limitations on their expenditures due to internal budget constraints, and the adverse effects of the economy on their business and financial condition. As a result, if economic and financial market conditions weaken or deteriorate, then our revenue and operating results, including our ability to grow and expand our business and operations, could be materially and adversely affected.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Pricing pressures could negatively impact our revenues and operating results.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Due to the intense competition involved in outsourcing and information technology services, we generally face pricing pressures from our customers due to competition from other companies in our markets. Our ability to maintain or increase pricing is restricted as customers generally expect to receive volume discounts or special pricing incentives as we do more business with them; moreover, our large customers may exercise pressure for discounts outside of agreed terms.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Our profitability could suffer if we are not able to maintain pricing on our existing projects and win new projects at appropriate margins. If our pricing structures do not accurately anticipate the cost and complexity of performing our services and providing our platforms and solutions, then our contracts could be unprofitable.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Our profit margin, and therefore our profitability, is dependent on the rates we are able to charge for our services, platforms and solutions measured against the costs of providing the service, platform or solution. If we are not able to maintain pricing on our existing services, platforms and solutions and win new projects at profitable margins, or if we underestimate the costs or complexities of new projects and incur losses, our profitability could suffer. The amounts we are able to recover for our services, platforms and solutions are affected by a number of factors, including competition, volume fluctuations, productivity of employees and processes, the value our customer derives from our services, platforms and solutions and general economic and political conditions.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Furthermore, we provide services and solutions either on a time-and-materials basis or on a fixed-price basis. Our pricing is highly dependent on our internal forecasts and predictions about our projects, which might be based on limited data and could turn out to be inaccurate. If we do not accurately estimate the costs and timing for completing projects, our contracts could prove unprofitable for us or yield lower profit margins than anticipated.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">23</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">We may not be able to obtain price or volume increases that are necessary to offset the effect of wage inflation and other government mandated cost increases.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We have experienced wage inflation and other government mandated cost increases in the Asian countries where we have the majority of our operations. In addition, we may experience adverse fluctuations in foreign currency exchange rates. These global events have put pressure on our profitability and our margins. Although we have tried to partially offset wage increases, foreign currency fluctuations and other such increases through price increases and improving our efficiency, we cannot ensure that we will be able to continue to do so in the future, which could negatively impact our results of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">Our international operations subject us to currency exchange fluctuations, which could adversely affect our results of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Although most of our revenues are denominated in U.S. dollars, a significant portion of our revenues are denominated in Canadian dollars, Pound Sterling and Euros. In addition, a significant portion of our expenses, primarily labor expenses in the Philippines, India, Sri Lanka, Germany, Canada, the United Kingdom and Israel, are incurred in the local currencies of the countries in which we operate. For financial reporting purposes, we translate all non-U.S. denominated transactions into U.S. dollars in accordance with accounting principles generally accepted in the United States (U.S. GAAP). Fluctuations in the value of these currencies relative to the U.S. dollar have in the past and could in the future continue to have a direct impact on our revenues and our results of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Philippines, India and Sri Lanka have, at times, experienced high rates of inflation, as well as major fluctuations in the exchange rate between such foreign currencies and the U.S. dollar.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We are also subject to fluctuations in exchange rates that affect the value of funds held by our foreign subsidiaries.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Although we selectively undertake hedging activities to mitigate certain of these risks, our hedging activities may not be effective and may result in losses. See Note 16, &#8220;Derivatives,&#8221; to the consolidated financial statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">In the event that the governments of India or the Philippines or the government of another country changes its tax policies, rules and regulations, our tax expense may increase and affect our effective tax rates.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We are subject to income taxes in both the U.S. and numerous foreign jurisdictions. We are subject to the continual examination by tax authorities in India and in the Philippines, and we assess the likelihood of outcomes resulting from these examinations to determine the adequacy of its provision for income taxes. Although we believe our tax estimates are reasonable, the final determination of tax audits could be materially different from what is reflected in historical income tax and indirect tax provisions and accruals, and could result in a material effect on our income tax provision, indirect tax expenses, net income or cash flows in the period or periods for which that determination is made. If additional taxes are assessed, it could have an adverse impact on our financial results.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">In addition, changes in the tax rates, tax laws or the interpretation of tax laws in the jurisdictions where we operate, could affect our future results of operations.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">24</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">In September 2015, the Company&#8217;s Indian subsidiary was subject to an inquiry by the Service Tax Department in India regarding the classification of services provided by this subsidiary, asserting that the services provided by this subsidiary fall under the category of online information and database access or retrieval services (&#8220;OID Services&#8221;), and not under the category of business support services (&#8220;BS Services&#8221;) that are exempt from service tax as historically indicated in the subsidiary&#8217;s service tax filings. Our management disagrees with the Service Tax Department&#8217;s position. In November 2019, the Commissioner of Central Tax, GST &amp; Central Excise issued an order confirming the Service Tax Department&#8217;s position. The Company contested this order in an appeal to the Customs, Excise and Service Tax Appellate Tribunal and in January 2024 the Customs, Excise and Service Tax Appellate Tribunal ruled in the Company&#8217;s favor. In the event the Service Tax Department appeals this ruling and is ultimately successful in proving that the services fall under the category of OID Services, the revenues earned by the Company&#8217;s Indian subsidiary for the period July 2012 through November 2016 would be subject to a service tax of between 12.36% and 15%, and this subsidiary may also be liable to pay interest and penalties. The revenue of our Indian subsidiary during this period was approximately $56.0 million. In accordance with new rules promulgated by the Service Tax Department, as of December 1, 2016 service tax is no longer applicable to OID or BS Services. Based on the Company&#8217;s assessment, in consultation with our tax counsel, the Company has not recorded any tax liability for this case.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">In a separate action relating to service tax refunds, in October 2016, the Company&#8217;s Indian subsidiary received notices from the Indian Service Tax Department in India seeking to reverse service tax refunds of approximately $121,000 previously granted to our Indian subsidiary for three quarters in 2014, asserting that the services provided by this subsidiary fall under the category of OID Services and not BS Services. The appeal was determined in favor of the Service Tax Department. Management disagrees with the basis of this decision and is contesting it. The Company expects delays in its Indian subsidiary receiving further service tax refunds until this matter is adjudicated with finality, and currently has service tax credits of approximately $0.8 million recorded as receivable. Based on the Company&#8217;s assessment, in consultation with our tax counsel, the Company has not recorded any tax liability for this case.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Substantial recovery against us in the above-referenced 2015 Service Tax Department case could have a material adverse impact on us, and unfavorable rulings or recoveries in other tax proceedings could have a material impact on the consolidated operating results of the period in which the rulings or recovery occurs.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">If tax authorities in any of the jurisdictions in which we operate contest the manner in which we allocate our profits, our net loss could be higher.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">A significant portion of the services we provide to our customers are provided by our Asian subsidiaries located in different jurisdictions. Tax authorities in some of these jurisdictions have from time to time challenged the manner in which we allocate our profits among our subsidiaries, and we may not prevail in any future challenge of this type. If such a challenge were successful, our worldwide effective tax rate could increase, thereby decreasing our profitability.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">The expiration or termination of our preferential tax rate incentives could adversely affect our results of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Two of our foreign subsidiaries are subject to preferential tax rates. This tax incentive provides that we pay reduced income taxes with respect to those jurisdictions for a fixed period of time. An expiration or termination of these incentives could increase our worldwide effective tax rate, or increase our tax expense, thereby decreasing our net income and adversely affecting our results of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">Our earnings may be adversely affected if we change our intent not to repatriate our foreign earnings and profits or if such earnings and profits become subject to U.S. tax on a current basis.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">A significant portion of our operations are conducted outside the U.S. Despite our access to the overseas earnings and the resulting toll charge, we intend to indefinitely reinvest the foreign earnings in our foreign subsidiaries on account of the foreign jurisdiction withholding tax that the Company has to incur on the actual remittances. Unremitted earnings of foreign subsidiaries amounted to approximately $50.4 million at December 31, 2023. If such earnings are repatriated in the future, or are no longer deemed to be indefinitely reinvested, the Company would have to accrue as a liability the applicable amount of foreign jurisdiction withholding taxes associated with such remittances.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">25</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">It is unlikely that we will pay dividends.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We have not paid any cash dividends since our inception and do not anticipate paying any cash dividends in the foreseeable future. We expect that our earnings, if any, will be used to finance our growth.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Risks Related to Laws and Regulations</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">Governmental and customer focus on data security could increase our costs of operations. In addition, any incident in which we fail to protect our customer&#8217;s information against security breaches may result in monetary damages against us, and termination of our engagement by our customer, and may adversely impact our results of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Certain laws and regulations regarding data privacy and security affecting our customers impose requirements regarding the privacy and security of information maintained by these customers, as well as notification to persons whose personal information is accessed by an unauthorized third party. As a result of any continuing legislative initiatives and customer demands, we may have to modify our operations with the goal of further improving data security. The cost of compliance with these laws and regulations is high and is likely to increase in the future. Any such modifications may result in increased expenses and operating complexity, and we may be unable to increase the rates we charge for our services sufficiently to offset these increases. In addition, as part of the services we perform, we have access to confidential customer data, including personal data. As a result, we are subject to numerous laws and regulations designed to protect this information. We may also be bound by certain customer agreements to use and disclose confidential customer information in a manner consistent with the privacy standards under regulations applicable to such customers. Any failure on our part to comply with these laws and regulations can result in negative publicity and diversion of management&#8217;s time and effort and may subject us to significant liabilities and other penalties.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">If customer confidential information is inappropriately disclosed due to a breach of our computer systems, system failures or otherwise, or if any person, including any of our employees, negligently disregards or intentionally breaches controls or procedures with which we are responsible for complying with respect to such data or otherwise mismanages or misappropriates that data, we may have substantial liabilities to our customers. Any incidents with respect to the handling of such information could subject us to litigation or indemnification claims with our customers and other parties. In addition, any breach or alleged breach of our confidentiality agreements with our customers may result in termination of their engagements, resulting in associated loss of revenue and increased costs.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">Our business is subject to applicable laws and regulations relating to foreign corrupt practices, the violation of which could adversely affect our operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We must comply with all applicable anti-bribery laws and regulations of the U.S. and other jurisdictions where we operate. For example, we are subject to the&#160;U.S. Foreign Corrupt Practices Act and the U.K. Bribery Act of 2010 relating to corrupt and illegal payments to government officials and others. Although we have policies and controls in place that are designed to ensure compliance with these laws and regulations, it is possible that an employee or an agent acting on our behalf could fail to comply with applicable laws and regulations, and due to the complex nature of the risks, it may not always be possible for us to ascertain compliance with such laws and regulations. In such event, we could be exposed to civil penalties, criminal penalties and other sanctions, including fines or other unintended punitive actions, and we could incur substantial legal fees and related expenses. In addition, such violations could damage our business and/or our reputation. All of the foregoing could have a material adverse effect on our financial condition and operating results.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">26</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">The legal and regulatory landscape applicable to artificial intelligence (AI) is evolving and changes to existing laws and regulations or new laws and regulations could adversely affect our business, financial condition and results of operations.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We use machine learning and artificial intelligence (AI) technologies in our services, platforms and solutions, and we are making investments in expanding our artificial intelligence capabilities, including ongoing deployment and improvement of existing machine learning and AI technologies, as well as developing new product features using AI technologies, including, for example, generative AI. The laws and regulations applicable to AI continue to develop and evolve. The use of AI technologies in our services, platforms and solutions may result in new governmental or regulatory scrutiny, ethical concerns, legal liability, or other complications that could adversely affect our business, financial condition, or results of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">Anti-outsourcing legislation, if adopted, could adversely affect our business, financial condition and results of operations and impair our ability to service our customers.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The issue of outsourcing of services abroad by U.S. companies is a topic of political discussion in the U.S. While no substantive anti-outsourcing legislation has been adopted to date, given the ongoing debate over this issue, the introduction of such legislation is possible. If introduced, our business, financial condition and results of operations could be adversely affected and our ability to service our customers could be impaired.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">Our growth could be hindered by visa restrictions.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Occasionally, we have employees from our other facilities visit or transfer to the U.S. to meet our customers or work on projects at a customer&#8217;s site. Any visa restrictions or new legislation putting a restriction on issuing visas could affect our business.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Immigration and visa laws and regulations in the U.S. and other countries are subject to legislative and administrative changes, as well as changes in the application of standards. Immigration and visa laws and regulations can be significantly affected by political forces and levels of economic activity. Our business, results of operations and financial condition may be materially adversely affected if legislative or administrative changes to immigration or visa laws and regulations impair our ability to staff projects with our professionals who are not citizens of the country where the work is to be performed.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">New and changing corporate governance and public disclosure requirements add uncertainty to our compliance policies and increase our costs of compliance.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Changing laws, regulations and standards relating to accounting, corporate governance and public disclosure, including SEC regulations and the Nasdaq Stock Market rules, create uncertainty for companies like ours. These laws, regulations and standards may lack specificity and are subject to varying interpretations. Their application in practice may evolve over time, as new guidance is provided by regulatory and governing bodies. This could result in continuing uncertainty regarding compliance matters and higher costs of compliance as a result of revisions to such corporate governance standards.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Although we are committed to maintaining high standards of corporate governance and public disclosure, and complying with evolving laws, regulations and standards, if we fail to comply with new or changed laws, regulations or standards of corporate governance, our business and reputation may be harmed.</p><a id="_001b33f2_7fd3_419d_a630_c558723eaf4d"></a><a id="Item1BUnresolvedStaffComments_373128"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">Item 1B. Unresolved Staff Comments.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">None.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">27</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_cb1c1d19_7927_4158_a84e_ce8a525f7d2a"></a><a id="Item1CCybersecurity_66097"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Item 1C. Cybersecurity</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Cybersecurity Risk Management and Strategy</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We recognize the importance of developing, implementing and maintaining a firm cybersecurity posture to safeguard our information systems, protect the confidentiality, integrity and availability of our data and mitigate risks associated with cyber threats and attacks. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We are ISO/IEC 27001:2013 certified and the ISO Information Security Risk Management Standard is used as a reference guide for our risk management approach. We have a designated Chief Information Security Officer (CISO) who has primary responsibility for managing our cybersecurity risks. Our CISO has more than 28 years of experience in Information Security and holds a master&#8217;s degree in Information Technology. His in-depth knowledge and experience are instrumental in developing and executing our cybersecurity strategies. Our CISO is assisted by a team of Information Security Officers (ISOs) and a third-party consultant who has expertise in cybersecurity, information security risk management, and information systems audit and holds various certifications including, CISA, CISM, HITRUST Certified Common Security Framework Practitioner, QSA, and CSP.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Recognizing the inherent cybersecurity risks common to any organization, encompassing concerns such as unauthorized access to sensitive data, potential disruptions to business operations from cyber incidents, and the associated financial and reputational impacts arising from a cybersecurity breach, we have implemented comprehensive policies covering various aspects of cybersecurity and information management, including, without limitation, cyber risk management, information security practices, roles and responsibilities, access controls, cryptography, information classification, asset disposal, and vendor management. We periodically review and modify these policies to align with industry practice, trends and evolving threat landscapes. Compliance with these policies is expected from all employees and contractors.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We perform periodic assessments for identifying threats and vulnerabilities, covering relevant operational facets, and focusing on identifying, analyzing, evaluating, and treating cyber risks across business functions. Our risk assessment guidelines define risk measurement and prioritization, and consider factors such as likelihood, impact, and potential harm. Mitigation strategies are planned, covering technical and procedural measures, including incident response plans.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">Incident Response</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We maintain a comprehensive incident response plan. Key components include regular updates to ensure effectiveness, employee training programs, and establishing communication channels and relevant systems for proper incident reporting and logging procedures. Communication and notification protocols are defined for notifying third parties such as regulatory bodies, customers, and partners. Recovery strategies are developed for restoring normal operations, and post-incident analysis is conducted to identify lessons learned and improvements for future incident response efforts. The incident response plan also outlines procedures for prompt detection, response, and remediation efforts to minimize the impact of incidents. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Incident materiality is assessed through a collaborative process involving key personnel within our organization. Responsibility for conducting a materiality assessment lies with our management team, in consultation with advice from our third-party cybersecurity consultant, as appropriate. The materiality assessment considers various factors, including financial impact, reputational risk, regulatory implications, and potential harm to third parties. Upon completion of the materiality assessment, the disclosure of incidents, including those related to contractual, regulatory, or technology/security aspects, is handled by designated members of our senior management team. We consult with outside counsel or experts as appropriate, including on materiality analysis and disclosure matters.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">As of the fiscal year ending December 31, 2023, there have been no identified cybersecurity incidents that have materially affected or are reasonably likely to materially affect us, including our business strategy, results of operations or financial condition.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">28</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">Engagement of Third Parties</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Recognizing the complexity and evolving nature of cybersecurity threats, we have engaged a third-party consultant to assist with evaluating and testing our risk management approach. This enables us to leverage specialized knowledge and insights in connection with our cybersecurity strategies and processes.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">Strategy</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">To enhance our current cybersecurity posture, we continue to invest in advanced threat detection technologies, provide cybersecurity training based on the latest trends and guidance to the employees, collaborate with industry partners and regulatory bodies to stay informed about emerging threats, reinforce our cybersecurity incident response plan to align with industry-specific regulations and legal obligations, integrate threat intelligence feeds for automatic detection of any misconfigurations, security threats, and foster a collaborative, cross-functional, and accelerated approach to incident response.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Cybersecurity Governance</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Our Board of Directors is aware of the critical nature of managing the risks associated with cybersecurity threats. The Board of Directors has established oversight mechanisms to ensure effective governance in managing these risks.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">Board of Director Oversight</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Our Audit Committee has primary responsibility for overseeing risk management, including with respect to cybersecurity. The Audit Committee monitors management&#8217;s compliance, and reports to the Board of Directors. The CISO, who is responsible for developing our cybersecurity strategy and managing our cybersecurity risks, reports directly to the Audit Committee on these matters.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">Management&#8217;s Role</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Our cybersecurity governance framework incorporates policies, procedures, regular meetings, and controls to manage and mitigate cybersecurity risks. Aligned with industry standards and regulatory requirements, the framework is overseen and regularly evaluated by our leadership team responsible for implementation. Regular risk assessments are conducted to identify and assess potential cybersecurity risks, informing the development of proactive risk mitigation strategies within the governance framework.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The governance framework is closely integrated via a structured compliance reporting framework operating across various governance levels. This framework also operates across geographic locations, with location specific compliance meetings conducted at a local management level and led by the CISO with assistance from the ISO team. This structured compliance reporting is intended to ensure that the highest levels of management are kept abreast of potential cybersecurity risks facing the Company, with the escalation of significant cybersecurity matters to the Audit Committee and ultimately to the Board of Directors, as appropriate.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Notwithstanding the extensive approach we take to cybersecurity, we may not be successful in preventing or mitigating a cybersecurity incident that could have a material adverse effect on us. While we maintain cybersecurity insurance, the costs related to cybersecurity threats or disruptions may not be fully insured. See Item 1A. &#8220;Risk Factors&#8221; for a discussion of cybersecurity risks.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">29</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_e3557732_0c5f_4c1e_a7f0_0774f7e8c320"></a><a id="Item2Properties_639073"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">Item 2. Properties.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We maintain leased property in Ridgefield Park, New Jersey, which is our headquarters, and in the Philippines, India, Sri Lanka, Israel and Germany. The square footage of all our leased properties totals approximately 181,000. Our leased properties in the Philippines, Sri Lanka, Germany and Israel are primarily used by our DDS segment; and our leased property in India is primarily used by our DDS and Synodex segments. Our leased property in the United States is our corporate headquarters and is used by all segments.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">In addition, we may need to lease additional property in the future. We believe that we will be able to obtain suitable additional facilities on commercially reasonable terms on an &#8220;as needed&#8221; basis.</p><a id="_d575b3e4_4f43_4d22_86f1_1b1ae09431ae"></a><a id="Item3LegalProceedings_777065"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">Item 3. Legal Proceedings.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Reference is made to Note 8, &#8220;Commitments and Contingencies - Litigation,&#8221; to the consolidated financial statements in Item 8 of this Report, which is incorporated by reference herein.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">In addition, On February 21, 2024, a putative class action lawsuit was filed in the U.S. District Court for the District of New Jersey against the Company and certain of its current and former officers (D&#8217;Agostino v. Innodata Inc., et al., Case Number 2:24-CV-00971 (the &#8220;D&#8217;Agostino Complaint&#8221;). The D&#8217;Agostino Complaint asserts claims against all defendants for alleged violations of Section 10(b) of the Exchange Act and Rule 10b-5 promulgated thereunder and Section 20(a) of the Exchange Act. The D&#8217;Agostino Complaint alleges that defendants made materially false and misleading statements related to its AI business and development and related financial results, growth, and prospects. The D&#8217;Agostino Complaint seeks unspecified compensatory and punitive damages, costs, attorneys&#8217; fees, and other unspecified relief. The Company intends to defend against the D&#8217;Agostino Complaint vigorously. </p><a id="_8533f6a0_20d2_4540_a11a_fd831ff16e6c"></a><a id="Item4MineSafetyDisclosures_177314"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">Item 4. Mine Safety Disclosures.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Not applicable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">30</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_57c5e43b_36be_49d5_9839_cd8474320d07"></a><a id="PARTII_120780"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">PART II</b></p><a id="Item5MarketforRegistrantsCommonEquityRel"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">Item 5. Market for Registrant&#8217;s Common Equity, Related Stockholder Matters and Issuer Purchases of Equity Securities.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Innodata Inc. (the &#8220;Company&#8221;) Common Stock is quoted on The Nasdaq Stock Market LLC under the symbol &#8220;INOD&#8221;. On February 7, 2024, there were 54 stockholders of record of the Company&#8217;s Common Stock based on information provided by the Company&#8217;s transfer agent. The number of stockholders of record is based upon the actual number of holders registered at such date and does not include holders of shares in &#8220;street names&#8221; or persons, partnerships, associates, corporations, or other entities identified in security position listings maintained by depositories. We do not anticipate paying any dividends in the foreseeable future.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">Securities Authorized for Issuance Under Equity Compensation Plans</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The following table sets forth the aggregate information for the Company&#8217;s equity compensation plans in effect as of December 31, 2023:</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:26.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:21.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:21.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:21.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:26.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number&#160;of&#160;Securities&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number&#160;of&#160;Securities&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:26.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">to&#160;be&#160;Issued&#160;Upon&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:23.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted-Average&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Remaining&#160;Available&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:26.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Exercise&#160;of&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:23.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Exercise&#160;Price&#160;of&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">for&#160;Future&#160;Issuance&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:26.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Outstanding&#160;Options,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:23.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Outstanding&#160;Options,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Under&#160;Equity&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:26.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><b style="font-weight:bold;">Plan Category</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;Warrants&#160;and&#160;Rights</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:23.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;Warrants&#160;and&#160;Rights</b><sup style="font-size:7.5pt;font-weight:bold;line-height:100%;top:0pt;vertical-align:top;">(3)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Compensation&#160;Plans</b></p></td></tr><tr><td style="vertical-align:bottom;width:26.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(a)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(b)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(c)</b></p></td></tr><tr><td style="vertical-align:bottom;width:26.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Equity compensation plans approved by security holders <sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5,567,966</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3.22</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td></tr><tr><td style="vertical-align:bottom;width:26.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Equity compensation plans approved by security holders <sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,444,523</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3.41</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,981,406</span></p></td></tr><tr><td style="vertical-align:bottom;width:26.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Equity compensation plans not approved by security holders</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.55%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.53%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td></tr><tr><td style="vertical-align:bottom;width:26.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.55%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 7,012,489</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:21.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,981,406</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-indent:0pt;margin:0pt 0pt 10pt 66.25pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup> 2013 Stock Plan, approved by the stockholders, see Note 12, &#8220;Stock Options&#8221;, to the consolidated financial statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-indent:0pt;margin:0pt 0pt 10pt 66.25pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(2) </sup>2021 Equity Compensation Plan, approved by stockholders, see Note 12, &#8220;Stock Options&#8221;, to the consolidated financial statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-indent:0pt;margin:0pt 0pt 10pt 66.25pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(3)</sup> Restricted stock units were excluded when determining the weighted-average exercise price of outstanding options, warrants and rights.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Purchase or Unregistered Sales of Equity Securities</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We did not purchase any shares of our common stock during the year ended December 31, 2023.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">We did not have any sales of unregistered equity securities during the year ended December 31, 2023.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_465ea5b1_6844_4abe_a8e8_b853a9d2c7e3"></a><a id="Item6Reserved_887096"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><b style="font-weight:bold;">Item 6. [Reserved]</b></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">31</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_64bbe883_e58b_4305_8ab9_15fa3f8a233c"></a><a id="Item7ManagementsDiscussionandAnalysisofF"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">Item 7. Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The following discussion should be read in conjunction with our consolidated financial statements and the related notes thereto included elsewhere in this Report. In addition to historical information, this discussion includes forward-looking information that involves risks and assumptions based upon management&#8217;s current expectations. Our actual results could differ materially from the results referred to in any forward-looking statement. See &#8220;Cautionary Note Regarding Forward-Looking Statements&#8221; included elsewhere in this Report.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">Executive Overview</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We are a global data engineering company. We operate in three reporting segments: Digital Data Solutions (DDS), Synodex and Agility.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The following table sets forth certain financial data for the two years ended December 31, 2023 and 2022:</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:47.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:5.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:47.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><i style="font-style:italic;">&#160;&#160;&#160;&#160;</i></p></td><td colspan="9" style="vertical-align:bottom;white-space:nowrap;width:48.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><i style="font-style:italic;">(Dollars&#160;in&#160;millions)</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:47.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="9" style="vertical-align:bottom;white-space:nowrap;width:48.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Years&#160;Ended&#160;December&#160;31,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:47.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><i style="font-style:italic;">&#160;&#160;&#160;&#160;</i></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:6.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><i style="font-style:italic;">&#160;&#160;&#160;&#160;</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">%&#160;of&#160;revenue</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><i style="font-style:italic;">&#160;&#160;&#160;&#160;</i></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><i style="font-style:italic;">&#160;&#160;&#160;&#160;</i></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">%&#160;of&#160;revenue</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:47.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Revenues</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 86.8</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 100.0</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 79.0</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 100.0</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:47.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Direct operating costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 55.5</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 63.9</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 51.5</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 65.1</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:47.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Gross Profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 31.3</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 36.1</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 27.5</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 34.9</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:47.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Selling and administrative expenses</p></td><td style="vertical-align:bottom;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 31.0</span></p></td><td style="vertical-align:bottom;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 35.7</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 37.9</span></p></td><td style="vertical-align:bottom;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 48.2</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:47.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Income (loss) from operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 0.3</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 0.4</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (10.5)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.25%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (13.3)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:47.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Interest expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">0.2 </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:47.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Income (loss) before provision for income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 0.1</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (10.5)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:47.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Provision for income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1.0</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1.5</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:47.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Net Loss</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (0.9)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.18%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (12.0)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">For a summary of our Critical Accounting Estimates and Policies, please refer to Note 1 of the Notes to our Consolidated Financial Statements, which are included elsewhere in this Report.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Non-GAAP Financial Measures</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">In addition to the financial information prepared in conformity with U.S. GAAP (&#8220;GAAP&#8221;), we provide certain non-GAAP financial information. We believe that these non-GAAP financial measures assist investors in making comparisons of period-to-period operating results. In some respects, management believes non-GAAP financial measures are more indicative of our ongoing core operating performance than their GAAP equivalents by making adjustments that management believes are reflective of the ongoing performance of the business.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We believe that the presentation of this non-GAAP financial information provides investors with greater transparency by providing investors a more complete understanding of our financial performance, competitive position, and prospects for the future, particularly by providing the same information that management and our Board of Directors use to evaluate our performance and manage the business. However, the non-GAAP financial measures presented in this Annual Report on Form 10-K have certain limitations in that they do not reflect all of the costs associated with the operations of our business as determined in accordance with GAAP. Therefore, investors should consider non-GAAP financial measures in addition to, and not as a substitute for, or as superior to, measures of financial performance prepared in accordance with GAAP. Further, the non-GAAP financial measures that we present may differ from similar non-GAAP financial measures used by other companies.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">Adjusted Gross Profit and Adjusted Gross Margin</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We define Adjusted Gross Profit as revenues less direct operating costs attributable to Innodata Inc. and its subsidiaries in accordance with U.S. GAAP, plus depreciation and amortization of intangible assets, stock-based compensation, non-recurring severance and other one-time costs. </p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">32</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We define Adjusted Gross Margin by dividing Adjusted Gross Profit over total U.S. GAAP revenues. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 8pt 0pt;">We use Adjusted Gross Profit and Adjusted Gross Margin to evaluate results of operations and trends between fiscal periods and believe that these measures are important components of our internal performance measurement process. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 8pt 0pt;">The following table contains a reconciliation of Gross Profit and Gross Margin in accordance with the U.S. GAAP attributable to Innodata Inc. and its subsidiaries to Adjusted Gross Profit and Adjusted Gross Margin for the years ended December 31, 2023 and 2022 (in thousands).</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year&#160;Ended&#160;December&#160;31,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Consolidated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;">    </b><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;">    </b><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#242424;">Gross Profit attributable to Innodata Inc. and Subsidiaries</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">$ </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 31,293</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 27,468</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><span style="color:#242424;">Depreciation and amortization</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#242424;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4,608</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,774</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><span style="color:#242424;">Severance**</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#242424;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 327</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:72.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><span style="color:#242424;">Stock-based compensation</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#242424;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 294</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 214</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:72.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#242424;">Adjusted Gross Profit</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 36,522</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 31,456</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:72.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#242424;">Gross Margin</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 36</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 35</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:72.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#242424;">Adjusted Gross Margin</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 42</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 40</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:74.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:74.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:21.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year&#160;Ended&#160;December&#160;31,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">DDS Segment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;">    </b><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;">    </b><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#242424;">Gross Profit attributable to DDS Segment</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 21,519</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 21,347</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><span style="color:#242424;">Depreciation&#160;and&#160;amortization</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#242424;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,053</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 579</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><span style="color:#242424;">Severance**</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#242424;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 28</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><span style="color:#242424;">Stock-based&#160;compensation</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#242424;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 261</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 178</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:74.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#242424;">Adjusted Gross Profit</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.95%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 22,861</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.95%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 22,104</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:74.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#242424;">Gross Margin</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.95%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 35</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.95%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 38</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:74.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#242424;">Adjusted Gross Margin</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 37</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 39</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:74.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:74.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:21.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year&#160;Ended&#160;December&#160;31,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Synodex Segment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;">    </b><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;">    </b><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#242424;">Gross Profit/(Loss) attributable to Synodex Segment</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 799</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">(874)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><span style="color:#242424;">Depreciation and amortization</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#242424;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 623</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 656</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><span style="color:#242424;">Severance**</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#242424;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><span style="color:#242424;">Stock-based compensation</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#242424;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:74.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#242424;">Adjusted Gross Profit/(Loss)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.95%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 1,423</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.95%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> (218)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:74.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#242424;">Gross Margin</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.95%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 11</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.95%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (12)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:74.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#242424;">Adjusted Gross Margin</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 19</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (3)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">33</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:74.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:74.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:21.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year&#160;Ended&#160;December&#160;31,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Agility Segment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;">    </b><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;">    </b><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#242424;">Gross Profit attributable to Agility Segment</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 8,975</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 6,995</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><span style="color:#242424;">Depreciation and amortization</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#242424;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,932</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,539</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><span style="color:#242424;">Severance**</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#242424;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 299</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:74.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"><span style="color:#242424;">Stock-based compensation</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#242424;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 32</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 36</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:74.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#242424;">Adjusted Gross Profit</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.8%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 12,238</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.81%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;"> 9,570</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:74.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="color:#242424;font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#242424;">Gross Margin</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.8%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 51</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.81%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 46</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:74.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#242424;">Adjusted Gross Margin</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 69</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 62</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:justify;margin:0pt 0pt 10pt 0pt;">**<i style="font-style:italic;">Represents non-recurring severance incurred for a reduction in headcount in connection with the re-alignment of the Company&#8217;s cost structure.</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt 0pt 8pt 0pt;"><i style="font-style:italic;">Adjusted EBITDA</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 8pt 0pt;">We define Adjusted EBITDA as net income (loss) attributable to Innodata Inc. and its subsidiaries in accordance with U.S. GAAP before interest expense, income taxes, depreciation and amortization of intangible assets (which derives EBITDA), plus additional adjustments for loss on impairment of intangible assets and goodwill, stock-based compensation, income (loss) attributable to non-controlling interests, non-recurring severance, and other one-time costs. We use Adjusted EBITDA to evaluate core results of operations and trends between fiscal periods and believe that these measures are important components of our internal performance measurement process.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 8pt 0pt;">The following table contains a reconciliation of GAAP net income (loss) attributable to Innodata Inc. and its subsidiaries to Adjusted EBITDA (loss) for the years ended December 31, 2023 and 2022 (in thousands).</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year Ended December 31,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Consolidated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net loss attributable to Innodata Inc. and Subsidiaries</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (908)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (11,935)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Provision for income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,028</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,522</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Interest expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 400</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 11</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Depreciation and amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4,716</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,889</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Severance**</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 580</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Stock-based compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4,027</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,283</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Non-controlling interests</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 19</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (70)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Adjusted EBITDA (loss) - Consolidated</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 9,862</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (3,300)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year Ended December 31,&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">DDS Segment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net income (loss) attributable to DDS Segment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 223</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (711)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Provision for income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,018</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,423</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Interest expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 395</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 10</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Depreciation and amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,161</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 694</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Severance**</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 33</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Stock-based compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 3,511</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,690</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Non-controlling interests</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 19</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.1%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Adjusted EBITDA - DDS Segment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 6,360</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 4,110</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">34</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Synodex Segment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net income (loss) attributable to Synodex Segment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 219</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (2,525)</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Depreciation and amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 623</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 656</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Severance**</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 6</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Stock-based compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 167</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 258</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Non-controlling interests</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (74)</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Adjusted EBITDA (loss) - Synodex Segment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1,015</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (1,685)</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Agility Segment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net loss attributable to Agility Segment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (1,350)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (8,699)</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Provision for income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 10</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 99</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Interest expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 5</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Depreciation and amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,932</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,539</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Severance**</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 541</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Stock-based compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 349</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 335</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Adjusted EBITDA (loss) - Agility Segment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,487</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (5,725)</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:7pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">**<i style="font-style:italic;">Represents non-recurring severance incurred for a reduction in headcount in connection with the re-alignment of the Company&#8217;s cost structure.</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">Results of Operations</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Amounts in the MD&amp;A below are after elimination of any inter-segment profit and have been rounded. All percentages have been calculated using rounded amounts.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">Year Ended December 31, 2023 Compared to the Year Ended December 31, 2022</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:italic;margin:0pt 0pt 10pt 0pt;">Revenues</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Total revenues were $86.8 million and $79.0 million for the years ended December 31, 2023 and 2022, respectively, an increase of $7.8 million or approximately 10%. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Revenues from the DDS segment were $61.6 million and $56.5 million for the years ended December 31, 2023 and 2022, respectively, an increase of $5.1 million or approximately 9%. The net increase was primarily attributable to higher volume from two existing and one new customer, offset in part by lower revenues of $8.5 million from a large social media company that underwent a significant management change in the second half of 2022. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Revenues from the Synodex segment were $7.5 million and $7.1 million for the years ended December 31, 2023 and 2022, respectively, an increase of $0.4 million or approximately 6%. The increase was primarily due to higher volume from existing customers.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Revenues from the Agility segment were $17.7 million and $15.4 million for the years ended December 31, 2023 and 2022 respectively, an increase of $2.3 million or approximately 15%. The increase was primarily attributable to higher volumes from subscriptions to our Agility AI-enabled industry platform and newswire product.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">One customer in the DDS segment generated approximately 10% of the Company&#8217;s total revenues in the fiscal year ended December 31, 2023. Another customer in the DDS segment generated approximately 11% of the Company&#8217;s total revenues in the fiscal year ended December 31, 2022. No other customer accounted for 10% or more of total revenues during these periods. Further, in the years ended December 31, 2023 and 2022, revenues from non-U.S. customers accounted for 37% and 38%, respectively, of the Company&#8217;s revenues.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">35</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:italic;margin:0pt 0pt 10pt 0pt;">Direct Operating Costs</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Direct operating costs consist of direct and indirect labor costs, occupancy costs, data center hosting fees, cloud services, content acquisition costs, depreciation and amortization, travel, telecommunications, computer services and supplies, realized (gain) loss on forward contracts, foreign currency revaluation (gain) loss, and other direct expenses that are incurred in providing services to our customers.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Direct operating costs were $55.5 million and $51.5 million for the years ended December 31, 2023 and 2022, respectively, an increase of $4.0 million or approximately 8%. The increase in direct operating costs was primarily due to higher revenues from two existing and one new customer in the DDS segment, offset in part by cost optimization efforts aimed at improving operational efficiency. The increase in direct operating costs includes a net increase of $0.7 million from direct and indirect labor related costs primarily on account of labor costs for new hires and salary increases, offset in part by reductions in headcount in line with cost optimization efforts in the first half of 2023; higher recruitment fees of $0.9 million for new hires; higher depreciation and amortization of capitalized developed software of $0.8 million; an unfavorable impact of exchange rate fluctuations of $0.8 million; higher content costs of $0.3 million, and other direct operating costs of $0.5 million. Direct operating costs as a percentage of total revenues were approximately 64% and 65% for the years ended December 31, 2023 and 2022, respectively. The decrease in direct operating costs as a percentage of revenues during the year was primarily due to an increase in revenues, offset in part by an increase in direct operating costs.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Direct operating costs for the DDS segment were $40.1 million and $35.1 million for the years ended December 31, 2023 and 2022, respectively, an increase of $5.0 million or approximately 14%. The increase in direct operating costs was primarily due to higher revenues from two existing and one new customer. The increase in direct operating costs includes a net increase of $2.3 million from direct and indirect labor related costs primarily on account of labor costs for new hires, and higher incentives and salary increases; higher recruitment fees of $0.9 million for new hires; an unfavorable impact of exchange rate fluctuations of $0.8 million; higher depreciation and amortization of capitalized developed software of $0.5 million and other direct operating costs of $0.5 million. Direct operating costs for the DDS segment as a percentage of DDS segment revenues were approximately 65% and 62% for the years ended December 31, 2023 and 2022, respectively. The increase in direct operating costs of the DDS segment as a percentage of DDS segment revenues during the year was primarily due to an increase in direct operating costs, offset in part by an increase in revenues.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Direct operating costs for the Synodex segment were approximately $6.7 million and $8.0 million for the years ended December 31, 2023 and 2022, respectively, a decrease of $1.3 million or approximately 16%. The decrease in direct operating costs was primarily due to cost optimization efforts aimed at improving operational efficiency. The decrease was due to lower direct labor costs of $1.3 million. Direct operating costs for the Synodex segment as a percentage of segment revenues were approximately 89% and 113% for the years ended December 31, 2023 and 2022, respectively. The decrease in direct operating costs of the Synodex segment as a percentage of Synodex segment revenues was due to lower direct operating costs and higher revenues.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Direct operating costs for the Agility segment were approximately $8.7 million and $8.4 million for the years ended December 31, 2023 and 2022, respectively, an increase of $0.3 million or approximately 4%. The increase in direct operating costs was primarily due to higher revenues offset by cost optimization efforts aimed at improving operational efficiency. The increase in direct operating cost includes higher depreciation and amortization of capitalized developed software of $0.4 million and higher content related costs of $0.3 million, offset in part by a decrease in direct labor costs of $0.3 million and other direct operating costs of $0.1 million. Direct operating costs for the Agility segment as a percentage of Agility segment revenues were approximately 49% and 55% for the years ended December 31, 2023 and 2022, respectively. The decrease in direct operating costs of the Agility segment as a percentage of Agility segment revenues was due to higher revenues, offset in part by higher direct operating costs.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">Gross Profit and Gross Margin</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Gross profit is derived by revenues less direct operating costs, while Gross margin as a percentage is derived by dividing gross profit over revenues.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">36</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Gross profit was $31.3 million and $27.5 million for the years ended December 31, 2023 and 2022, respectively. The $3.8 million increase in gross profit was primarily due to higher revenues in all segments, offset in part by higher direct operating costs in the DDS and Agility segments. Gross margin was 36% and 35% for the years ended December 31, 2023 and 2022, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Gross profit for the DDS segment was $21.5 million and $21.3 million for the years ended December 31, 2023 and 2022, respectively. The $0.2 million increase in gross profit for the DDS segment was primarily due to higher revenues offset in part by higher direct operating costs. Gross margin for the DDS segment was 35% and 38% for the years ended December 31, 2023 and 2022, respectively. The decrease in gross margin for the DDS segment as a percentage of revenues was primarily due to higher direct operating costs offset in part by higher revenues.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Gross profit for the Synodex segment was $0.8 million and a loss of $0.9 million for the years ended December 31, 2023 and 2022, respectively. The $1.7 million change in gross profit for the Synodex segment was primarily due to lower direct operating costs and higher revenues. Gross margin for the Synodex segment was 11% and (12)% for the years ended December 31, 2023 and 2022, respectively. The increase in gross margin for the Synodex segment as a percentage of revenues was primarily due to lower direct operating costs and higher revenues.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Gross profit for the Agility segment was $9.0 million and $7.0 million for the years ended December 31, 2023 and 2022, respectively. The $2.0 million increase in gross profit for the Agility segment was primarily due to higher revenues, offset in part by higher direct operating costs. Gross margin for the Agility segment was 51% and 46% for the years ended December 31, 2023 and 2022, respectively. The increase in gross margin for the Agility segment as a percentage of revenues was primarily due to higher revenues, offset in part by higher direct operating costs.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:italic;margin:0pt 0pt 10pt 0pt;">Selling and Administrative Expenses</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Selling and administrative expenses consist of payroll and related costs including commissions, bonuses, and stock-based compensation; marketing, advertising, trade conferences and related expenses; new services research and related software development expenses, software subscriptions, professional and consultant fees, provision for doubtful accounts and other administrative overhead expenses. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Selling and administrative expenses were approximately $31.0 million and $38.0 million for the years ended December 31, 2023 and 2022, respectively, a decrease of $7.0 million or approximately 18%. The decrease in selling and administrative expenses was primarily due to the cost optimization efforts aimed at improving operational efficiency. The decrease in selling and administrative expenses includes lower labor and related expenses of $3.4 million primarily on account of headcount reductions, offset in part by salary increases and higher commissions; lower marketing related expenses of $1.8 million; lower recruitment and professional fees of $1.2 million; lease termination expense of $0.2 million; a favorable impact of foreign exchange rate fluctuations of $0.2 million and a decrease in other selling and administrative expenses of $0.2 million. Selling and administrative expenses as a percentage of total revenues were approximately 36% and 48% for the years ended December 31, 2023 and 2022, respectively. The decrease in selling and administrative expenses as a percentage of total revenues was primarily attributable to higher revenues and lower selling and administrative expenses in all segments.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Selling and administrative expenses for the DDS segment were approximately $20.1 million and $20.7 million for the years ended December 31, 2023 and 2022 respectively, a decrease of $0.6 million or approximately 3%. The decrease in selling and administrative expenses was primarily due to the cost optimization efforts aimed at improving operational efficiency. The decrease in selling and administrative expenses includes lower recruitment and professional fees of $0.6 million; lower marketing related expenses of $0.5 million and lower provisions for doubtful accounts of $0.2 million. These costs were offset in part by higher stock-based compensation, commissions and incentives of $0.6 million, and an increase in other selling and administrative expenses of $0.1 million. Selling and administrative expenses for the DDS segment as a percentage of DDS segment revenues were approximately 33% and 37% for the years ended December 31, 2023 and 2022, respectively. The decrease in selling and administrative expenses of the DDS segment as a percentage of DDS segment revenues was primarily attributable to higher revenues and lower selling and administrative expenses.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">37</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Selling and administrative expenses for the Synodex segment were $0.6 million and $1.7 million for the years ended December 31, 2023 and 2022 respectively, a decrease of $1.1 million or approximately 65%. The decrease in selling and administrative expenses was primarily due to the cost optimization efforts aimed at improving operational efficiency. The decrease in selling and administrative expenses includes lower payroll-related costs of $0.5 million; lower professional fees of $0.5 million, and a decrease in other selling and administrative expenses of $0.1 million. Selling and administrative expenses for the Synodex segment as a percentage of Synodex segment revenues were approximately 8% and 24% for the years ended December 31, 2023 and 2022, respectively. The decrease in selling and administrative expenses of the Synodex segment as a percentage of Synodex segment revenues was primarily attributable to lower selling and administrative expenses and higher revenues.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Selling and administrative expenses for the Agility segment were $10.3 million and $15.6 million for the years ended December 31, 2023 and 2022, respectively, a decrease of $5.3 million or approximately 34%. The decrease in selling and administrative expenses was primarily due to the cost optimization efforts aimed at improving operational efficiency. The decrease in selling and administrative expenses includes lower labor and related expenses of $3.5 million primarily on account of headcount reductions offset in part by higher commissions; lower marketing related expenses of $1.3 million; a favorable impact of foreign exchange rate fluctuations of $0.2 million; lease termination expense of $0.2 million; lower professional fees of $0.1 million and a decrease in other selling and administrative expenses of $0.2 million. These lower selling and administrative expenses were offset in part by a higher provision for doubtful accounts of $0.2 million. Selling and administrative expenses for the Agility segment as a percentage of Agility segment revenues were approximately 58% and 101% for the years ended December 31, 2023 and 2022, respectively. The decrease in selling and administrative expenses of the Agility segment as a percentage of Agility segment revenues was primarily due to lower selling and administrative expenses and higher revenues.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">Goodwill Impairment</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">As of September 30, 2023, the Company performed its annual goodwill impairment analysis on the Agility segment. It involved a quantitative goodwill impairment test and estimated the fair value based on a combination of the income approach (estimates of future discounted cash flows) and the market approach (market multiples for similar companies) using unobservable inputs (Level 3). The income approach uses a discounted cash flow (&#8220;DCF&#8221;) method that utilizes the present value of cash flows to estimate the segment&#8217;s fair value. The future cash flows of the segment were projected based on the Company&#8217;s estimates of future revenues, operating income, and other factors such as working capital and capital expenditures. As part of the DCF analysis, the Company projected revenue and operating profit and assumed long-term revenue growth rates in the terminal year. The market approach utilizes multiples of revenues and earnings before interest expense, taxes, depreciation, and amortization (&#8220;EBITDA&#8221;) to estimate the segment&#8217;s fair value. The market multiples used for the segment were based on a group of comparable companies&#8217; market multiples applied to the Company&#8217;s revenue. The Company concluded that there is no impairment of goodwill.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:italic;margin:0pt 0pt 10pt 0pt;">Income Taxes</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We recorded a provision for income taxes of approximately $1.0 million and $1.5 million for the years ended December 31, 2023 and 2022, respectively. Tax-related charges primarily consisted of a provision for foreign taxes recorded in accordance with the local tax regulations by our foreign subsidiaries. Effective income tax rates are disproportionate primarily due to the minimal pre-tax income and valuation allowance recorded on the deferred taxes of the U.S., Canadian, German and the United Kingdom subsidiaries, tax effects of foreign operations, IRS section 162 (m) adjustments, offset in part by the effect of stock-based compensation. See Note 6, &#8220;Income Taxes&#8221; of the notes to the consolidated financial statements for additional information.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">38</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The reconciliation of the U.S. statutory rate with the Company&#8217;s effective tax rate for the years ended December 31, 2023 and 2022 are summarized in the table below:</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:66.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:66.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:66.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Federal income tax expense (benefit) at statutory rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 21.0</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (21.0)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:66.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Effect of:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Change in valuation allowance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 578.6</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 36.9</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Tax effects of foreign operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 562.6</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2.5</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Section 162 (m)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">452.0 </p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Return to provision true up</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 264.4</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 0.3</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Increase in unrecognized tax benefits (ASC 740)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 199.6</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 0.7</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Withholding tax</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 106.6</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Foreign operations permanent differences - foreign exchange gains and losses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 76.9</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 1.1</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">State income tax net of federal benefit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 0.1</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 0.2</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Research and development credit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (67.3)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Foreign rate differential</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (102.5)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (4.7)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Deemed interest</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (149.2)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (1.9)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Tax effect of intercompany settlement</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (234.0)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Effect of stock-based compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (961.6)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (0.3)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="white-space:pre-wrap;"> (7.6)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 0.7</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Effective tax rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.09%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 739.6</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.09%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 14.5</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Despite access to overseas earnings and the resulting toll charge, we intend to indefinitely reinvest earnings and profits in our foreign subsidiaries on account of the foreign jurisdiction withholding taxes that we would have to incur on the actual remittances. Unremitted foreign earnings and profits amounted to approximately $50.4 million at December 31, 2023. If such foreign earnings and profits are repatriated in the future, or are no longer deemed to be indefinitely reinvested, we would have to accrue the applicable amount of foreign jurisdiction withholding taxes associated with such remittances.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We have a valuation allowance on all of our U.S. deferred tax assets on account of continuing losses incurred by our U.S. entities. In addition, we also have a valuation allowance on the deferred tax assets of our Canadian, German and the United Kingdom subsidiaries. Our Canadian subsidiaries also have research and development credits available to reduce taxable income in future years, which may be carried forward indefinitely. The potential benefits from these balances have not been recognized for financial statement purposes.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:italic;margin:0pt 0pt 10pt 0pt;">Tax Assessments</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">In September 2015, our Indian subsidiary was subject to an inquiry by the Service Tax Department in India regarding the classification of services provided by this subsidiary, asserting that the services provided by this subsidiary fall under the category of online information and database access or retrieval services (OID Services), and not under the category of business support services (BS Services) that are exempt from service tax as historically indicated in the subsidiary&#8217;s service tax filings. We disagree with the Service Tax Department&#8217;s position. In November 2019, the Commissioner of Central Tax, GST &amp; Central Excise issued an order confirming the Service Tax Department&#8217;s position. We contested this order in an appeal to the Customs, Excise and Service Tax Appellate Tribunal and in January 2024 the Customs, Excise and Service Tax Appellate Tribunal ruled in the Company&#8217;s favor. In the event the Service Tax Department appeals this ruling and is ultimately successful in proving that the services fall under the category of OID Services, the revenues earned by our Indian subsidiary for the period July 2012 through November 2016 would be subject to a service tax of between 12.36% and 15%, and this subsidiary may also be liable for interest and penalties. The revenues of our Indian subsidiary during this period was approximately $56.0 million. In accordance with new rules promulgated by the Service Tax Department, as of December 1, 2016, service tax is no longer applicable to OID or BS Services. Based on our assessment in consultation with our tax counsel, we have not recorded any tax liability for this case.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">39</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">In a separate action relating to service tax refunds, in October 2016, our Indian subsidiary received notices from the Indian Service Tax Department in India seeking to reverse service tax refunds of approximately $121,000 previously granted to our Indian subsidiary for three quarters in 2014, asserting that the services provided by this subsidiary fall under the category of OID Services and not BS Services. The appeal was determined in favor of the Service Tax Department. We disagree with the basis of this decision and are contesting it. We expect delays in our Indian subsidiary receiving further service tax refunds until this matter is adjudicated with finality, and currently have service tax credits of approximately $0.8 million recorded as a receivable. Based on our assessment in consultation with our tax counsel, we have not recorded any tax liability for this case.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Substantial recovery against us in the above referenced 2015 Service Tax Department case could have a material adverse impact on us, and unfavorable rulings or recoveries in other tax proceedings could have a material adverse impact on the consolidated operating results of the period (and subsequent periods) in which the rulings or recovery occurs.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:italic;margin:0pt 0pt 10pt 0pt;">Net Income (Loss)</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We had a net loss of $0.9 million and $12.0 million during the years ended December 31, 2023 and 2022, respectively. The $11.1 million change was due to higher revenues, lower selling and administrative expenses in all segments and lower income tax, offset in part by higher direct operating costs in the DDS and Agility segments in the current fiscal year.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Net income for the DDS segment was $0.2 million and a net loss of $0.7 million for the year ended December 31, 2023 and 2022, respectively. The $0.9 million change was due to higher revenues, lower selling and administrative expenses and lower income tax, offset in part by higher direct operating costs in the current fiscal year.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Net income for the Synodex segment was $0.2 million and a loss of $2.6 million for the years ended December 31, 2023 and 2022, respectively. The $2.8 million change was primarily due to lower direct operating costs and selling and administrative expenses, and higher revenues in the current fiscal year. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Net loss for the Agility segment was $1.3 million and a net loss of $8.7 million for the years ended December 31, 2023 and 2022, respectively. The $7.4 million change was primarily due to lower selling and administrative expenses and higher revenues, offset in part by higher direct operating costs in the current fiscal year.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">Adjusted Gross Profit and Margin</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Adjusted Gross Profit and Adjusted Gross Margin are non-GAAP financial measures. For a reconciliation of Adjusted Gross Profit and Adjusted Gross Margin to the most directly comparable GAAP measure, please see the description of &#8220;Non-GAAP Financial Measures &#8211; Adjusted Gross Profit and Adjusted Gross Margin&#8221; above.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Adjusted gross profit was $36.5 million and $31.5 million for the years ended December 31, 2023 and 2022, respectively. The $5.0 million increase in adjusted gross profit was due to a higher gross profit, higher depreciation and amortization, and non-recurring severance. Adjusted gross margin was 42% and 40% for the years ended December 31, 2023 and 2022, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Adjusted gross profit for the DDS segment was $22.9 million and $22.1 million for the years ended December 31, 2023 and 2022, respectively. The $0.8 million increase in adjusted gross profit for the DDS Segment was due to higher depreciation and amortization and higher gross profit. Adjusted gross margin for the DDS segment was 37% and 39% for the years ended December 31, 2023 and 2022, respectively. The decrease in the adjusted gross margin for the DDS segment as a percentage of revenues was primarily due to higher direct operating costs offset in part by higher revenues.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Adjusted gross profit for the Synodex segment was $1.4 million and a loss of $0.2 million for the years ended December 31, 2023 and 2022, respectively. The $1.6 million change in adjusted gross profit in the Synodex segment was due to higher gross profit. Adjusted gross margin for the Synodex segment was 19% and (3)% for the years ended December 31, 2023 and 2022, respectively. The increase in the adjusted gross margin for the Synodex segment as a percentage of revenues was primarily due to lower direct operating costs and higher revenues.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">40</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Adjusted gross profit for the Agility segment was $12.2 million and $9.6 million for the years ended December 31, 2023 and 2022, respectively. The $2.6 million increase in adjusted gross profit for the Agility segment was due to higher gross profit, higher depreciation and amortization, and non-recurring severance. Adjusted gross margin for the Agility segment was 69% and 62% for the years ended December 31, 2023 and 2022, respectively. The increase in the adjusted gross margin for the Agility segment as a percentage of revenues was primarily due to higher revenues, offset in part by higher direct operating costs.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">Adjusted EBITDA</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Adjusted EBITDA is a non-GAAP financial measure. For a reconciliation of Adjusted EBITDA to the most directly comparable GAAP measure, please see the description of &#8220;Non-GAAP Financial Measures &#8211; Adjusted EBITDA&#8221; above.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Adjusted EBITDA was $9.9 million and a loss of $3.3 million for the years ended December 31, 2023 and 2022, respectively. The $13.2 million change in Adjusted EBITDA was due to a lower net loss, higher depreciation and amortization, stock-based compensation, interest expense, and non-recurring severance, offset in part by lower provisions for income taxes.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Adjusted EBITDA for the DDS segment was $6.4 million and $4.1 million for the years ended December 31, 2023 and 2022, respectively. The $2.3 million increase in Adjusted EBITDA was due to higher net income in the DDS segment, higher stock-based compensation, depreciation and amortization and interest expense, offset in part by a lower tax provision.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Adjusted EBITDA for the Synodex segment was $1.0 million and a loss of $1.7 million for the years ended December 31, 2023 and 2022, respectively. The $2.7 million change in Adjusted EBITDA was due to a lower net loss in the Synodex segment.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Adjusted EBITDA for the Agility segment was $2.5 million and a loss of $5.7 million for the years ended December 31, 2023 and 2022, respectively. The $8.2 million change in Adjusted EBITDA was due to a lower net loss in the Agility segment, non-recurring severance, higher depreciation and amortization, offset in part by lower tax provision.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">Liquidity and Capital Resources</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Selected measures of liquidity and capital resources, expressed in thousands, are as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:40%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:56.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:56.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:39.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:56.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:17.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:56.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Cash and cash equivalents</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 13,806</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 9,792</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Short term investments - other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 14</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 507</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Working capital</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 9,142</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="white-space:pre-wrap;"> 2,869</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">On December 31, 2023, we had cash and cash equivalents of $13.8 million, of which $6.5 million was held by our foreign subsidiaries and $7.3 million was held in the United States. Despite the passage of the new tax law under which we may repatriate funds from overseas after paying the toll charge, it is our intent, as of December 31, 2023, to indefinitely reinvest the overseas funds in our foreign subsidiaries due to the withholding tax that we would have to incur on the actual remittances.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We have used, and plan to use, our cash and cash equivalents for (i) capital investments; (ii) the expansion of our operations; (iii) technology innovation; (iv) product management and strategic marketing; (v) general corporate purposes, including working capital; and (vi) possible business acquisitions. As of December 31, 2023, we had working capital of approximately $9.1 million, as compared to working capital of approximately $2.9 million as of December 31, 2022. The increase in working capital of $6.3 million is primarily due to the impact of higher revenues thereby increasing receivables by $4.8 million, cash proceeds from stock option exercises of $3.3 million offset by a decrease in working capital of $1.8 million used in operations during the year ended December 31, 2023.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">41</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Proceeds from stock option exercises for the year ended December 31, 2023 were $3.3 million.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We did not have any material commitments for capital expenditures as of December 31, 2023. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We believe that our existing cash and cash equivalents and cash flows from operations will provide sufficient sources of liquidity to satisfy our financial needs for at least 12 months from the date of issuance of these financial statements. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">On April 4, 2023, we entered into a Credit Agreement (the &#8220;Credit Agreement&#8221;) with Wells Fargo Bank, National Association, as lender, and Innodata Inc., Innodata Synodex, LLC, Innodata docGenix, LLC and Agility PR Solutions LLC as co-borrowers. On July 21, 2023, Innodata Services LLC signed a Joinder Agreement to join the Credit Agreement as a co-borrower. The Credit Agreement provides for a secured revolving line of credit (the &#8220;Revolving Credit Facility&#8221;) up to an amount equal to the lesser of the borrowing base and $10.0 million with a maturity date of April 4, 2026. The Revolving Credit Facility&#8217;s borrowing base is calculated in accordance with the terms of the Credit Agreement and on the basis of 85% of eligible accounts, 85% of eligible foreign accounts up to $2.0 million and certain other reserves and adjustments. As of December 31, 2023, such borrowing base calculation equaled approximately $10.0 million. The Credit Agreement contains a financial covenant that requires the Borrowers, on a consolidated basis, to maintain a fixed charge coverage ratio of not less than 1.10 to 1.00 by December 31, 2023. Except as set forth in the Credit Agreement, borrowings under the Revolving Credit Facility bear interest at a rate equal to the daily simple secured overnight financing rate (&#8220;SOFR&#8221;) plus 2.25%. We did not utilize the Revolving Credit Facility during the year ended December 31, 2023 and through the date of filing of this Report.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:italic;margin:0pt 0pt 10pt 0pt;">Net Cash Provided by Operating Activities</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Cash provided by our operating activities for the year ended December 31, 2023 was $5.9 million resulting from our net loss of $0.9 million, adjusted for non-cash expenses of $9.9 million and a decrease in working capital of $3.1 million. Refer to the Consolidated Statements of Cash Flows for further details.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Cash used by our operating activities for the year ended December 31, 2022 was $1.2 million resulting from our net loss of $12.0 million, adjusted for non-cash expenses of $8.9 million and an increase in working capital of $1.9 million. Refer to the Consolidated Statements of Cash Flows for further details.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Our days&#8217; sales outstanding were 50 days and 48 days for the years ended December 31, 2023 and 2022, respectively. We calculate DSO by first dividing the total revenues for the period by average net accounts receivable, which is the average of net accounts receivable at the beginning of the period and net accounts receivable at the end of the period, to yield an amount we refer to as the &#8220;accounts receivable turnover&#8221;. Then we divide the total number of days within the period reported by the accounts receivable turnover to yield DSO expressed in number of days.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:italic;margin:0pt 0pt 10pt 0pt;">Net Cash Used in Investing Activities</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Cash used in our investing activities for the year ended December 31, 2023 was $5.1 million consisting of capital expenditures of $5.6 million offset in part by proceeds from sale of investments of $0.5 million. These capital expenditures were principally for the purchase of technology equipment including servers, network infrastructure and workstations, and expenditures for capitalized developed software. Capital expenditures for the year ended December 31, 2023 amounting to $5.6 million consisted of $2.9 million for the DDS segment, $1.8 million for the Agility segment and $0.9 million for the Synodex segment. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Cash used in our investing activities for the year ended December 31, 2022 was $7.0 million consisting of capital expenditures of $6.5 million and the purchase of short-term investments of $0.5 million. These capital expenditures were principally for the purchase of technology equipment including servers, network infrastructure and workstations, and expenditures for capitalized developed software. Capital expenditures for the year ended December 31, 2022 amounting to $6.5 million consisted of $3.1 million for the DDS segment, $2.0 million for the Agility segment, and $1.4 million for the Synodex segment. </p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">42</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">For calendar year 2024, we anticipate that capital expenditures for ongoing technology, equipment, new platform development, and infrastructure upgrades will approximate to $6.0 million, a portion of which we may finance.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:italic;margin:0pt 0pt 10pt 0pt;">Net Cash Used in Financing Activities</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Cash provided by financing activities for the year ended December 31, 2023 was $2.9 million primarily from proceeds of stock option exercises of $3.3 million, offset in part by payment of long-term obligations of $0.4 million.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Cash used in financing activities for the year ended December 31, 2022 was primarily for payments of long-term obligation of $0.6 million, reduced in part by proceeds from stock option exercises of $0.3 million.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">Inflation, Seasonality and Prevailing Economic Conditions</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Although most of our revenues are denominated in U.S. dollars, a significant portion of our revenue is denominated in Canadian dollars, Pound Sterling and Euros. In addition, a significant portion of our expenses, primarily labor expenses in the Philippines, India, Sri Lanka, Germany, Canada and Israel, are incurred in the local currencies of the countries in which we operate. For financial reporting purposes, we translate all non-U.S. denominated transactions into U.S. dollars in accordance with U.S. GAAP. Thus, we are exposed to the risk that fluctuations in the value of these currencies relative to the U.S. dollar could have a direct impact on our revenues and our results of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Philippines and India have at times experienced high rates of inflation as well as major fluctuations in the exchange rate between the Philippine peso and the U.S. dollar and the Indian rupee and the U.S. dollar. As of December 31, 2023, the aggregate notional amount of our hedges was $10.5 million consisting of approximately $4.3 million against the Indian rupee, and $6.2 million against the Philippine peso.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Fluctuations in exchange rates also affect the value of funds held by our foreign subsidiaries. We do not currently intend to hedge these assets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Our most significant costs are the salaries and related benefits of our employees in Asia. We are exposed to high inflation in wage rates in the countries in which we operate. We generally perform work for our customers under project-specific contracts, requirements-based contracts or long-term contracts. We must adequately anticipate wage increases, particularly on our fixed-price contracts. There can be no assurance that we will be able to recover cost increases through increases in the prices that we charge for our services to our customers.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Our quarterly operating results are subject to certain fluctuations. We experience fluctuations in our revenues and earnings as we replace and begin new projects, which may have some normal start-up delays, or we may be unable to replace a project entirely. These and other factors may contribute to fluctuations in our operating results from quarter to quarter. In addition, as some of our Asian facilities are closed during holidays in the fourth quarter, we typically incur higher wages, due to overtime, that reduce our margins.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Our Synodex subsidiary experiences seasonal fluctuations in revenues. Typically, revenue is lowest in the third quarter of the calendar year and highest in the fourth quarter of the calendar year. The seasonality is directly linked to the number of life insurance applications received by the insurance companies.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">Trends</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We view new customer acquisition as an indicator of our business momentum, sales and marketing efficiency, and competitive market positioning. During the year ended December 31, 2023, we added 517 new customers, an average of 129 new customers per quarter. This is a 3% increase over the 126 new customers we added on average per quarter in 2022 and a 39% increase from the 93 new customers we added on average per quarter in 2021. Importantly, in addition to the customer count, we recognize that the size and scale of new customers significantly impacts our growth trajectory. While in the year December 31, 2023 there was a 3% increase from the average of 126 new customers per quarter in 2022, it is noteworthy that we are placing emphasis on acquiring customers that align with our strategic goals, leading to a focus on the potential revenue value of new customer engagements over sheer number of new customer engagements.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">43</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_12a50f44_ddbf_4c3c_b3b2_010854d27651"></a><a id="Item7AQuantitativeandQualitativeDisclosu"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">Item 7A. Quantitative and Qualitative Disclosures About Market Risk.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Not applicable to smaller reporting companies.</p><a id="_6ac6823b_9abe_4958_9d7d_754e6ed32670"></a><a id="Item8FinancialStatementsandSupplementary"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 8pt 0pt;">Item 8. Financial Statements and Supplementary Data.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 8pt 0pt;">See Financial Statement Index and Financial Statements commencing on page F-1, which are incorporated by reference herein.</p><a id="_0f5c11c9_169e_430f_be49_9a845c84eca2"></a><a id="Item9ChangesinandDisagreementswithAccoun"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 8pt 0pt;">Item 9. Changes in and Disagreements with Accountants on Accounting and Financial Disclosure.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 8pt 0pt;">None.</p><a id="_b1c5cc1e_7824_44b3_ba03_f78b8352c4a7"></a><a id="Item9AControlsandProcedures_741867"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 8pt 0pt;">Item 9A. Controls and Procedures.</p><a id="EvaluationofDisclosureControlsandProcedu"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 8pt 0pt;">Evaluation of Disclosure Controls and Procedures</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 8pt 0pt;">We maintain disclosure controls and procedures (as such term is defined in Rules 13a-15(e) and 15d-15(e) under the Securities Exchange Act of 1934, as amended (Exchange Act), that are designed to ensure that information required to be disclosed in the reports we file or submit under the Exchange Act is recorded, processed, summarized and reported within the time periods specified in the Securities and Exchange Commission&#8217;s rules and forms, and that such information is accumulated and communicated to our management, including our principal executive officer and principal financial officer, as appropriate, to allow timely decisions regarding required disclosure. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 8pt 0pt;">Under the supervision, and with the participation of our management, including our principal executive officer and our principal financial officer, we conducted an evaluation of the effectiveness of our disclosure controls and procedures, as defined under Exchange Act Rule 13a-15(e), as of December 31, 2023. Based on this evaluation, our principal executive officer and our principal financial officer concluded that, as of December 31, 2023, our disclosure controls and procedures were effective.</p><a id="ManagementsAnnualReportonInternalControl"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;">Management&#8217;s Annual Report on Internal Control over Financial Reporting </b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 8pt 0pt;">Our management is responsible for establishing and maintaining adequate internal control over our financial reporting. Internal control over financial reporting is a process designed to provide reasonable assurance regarding the reliability of our financial reporting and the preparation of financial statements for external purposes in accordance with U.S. GAAP. Internal control over financial reporting includes maintaining records that in reasonable detail accurately and fairly reflect our transactions and disposition of assets; providing reasonable assurance that transactions are recorded as necessary for preparation of our financial statements; providing reasonable assurance that receipts and expenditures of company assets are made in accordance with management and director authorization; and providing reasonable assurance that unauthorized acquisition, use or disposition of company assets that could have a material effect on our financial statements would be prevented or detected on a timely basis. Because of its inherent limitations, internal control over financial reporting is not intended to provide absolute assurance that a misstatement of our financial statements would be prevented or detected. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 8pt 0pt;">Under the supervision and with the participation of the Company&#8217;s Chief Executive Officer and Interim Chief Financial Officer, management conducted an evaluation of the effectiveness of our internal control over financial reporting based on the framework in <i style="font-style:italic;">Internal Control - Integrated Framework (2013) -</i> issued by the Committee of Sponsoring Organizations of the Treadway Commission (COSO). Based on this evaluation, management concluded that the Company&#8217;s internal control over financial reporting was effective as of December 31, 2023. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 8pt 0pt;">This Annual Report on Form 10-K does not include an attestation report of our independent registered public accounting firm regarding internal control over financial reporting. Management&#8217;s report was not subject to attestation by our independent registered public accounting firm pursuant to rules of the Securities and Exchange Commission that permit us to provide only management&#8217;s report in this Annual Report on Form 10-K.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">44</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 8pt 0pt;">Changes in Internal Control over Financial Reporting</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 8pt 0pt;">There were no changes in our internal control over financial reporting (as such term is defined in Rules 13a-15(f) or 15d-15(f) under the Exchange Act) during the three months ended December 31, 2023 that have materially affected, or are reasonably likely to materially affect, our internal control over financial reporting.</p><a id="_118591de_5378_4c85_9151_47d35fb93af4"></a><a id="Item9BOtherinformation_297006"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 8pt 0pt;"><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" format="ixt:booleanfalse" name="ecd:Rule10b51ArrTrmntdFlag" id="Narr_WGG4GJb7SkaAbpjjV-osIw">Item</ix:nonNumeric> 9B. <ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" format="ixt:booleanfalse" name="ecd:Rule10b51ArrAdoptedFlag" id="Narr_dXS8pSJ9m0CbL278ELFI4g">Other</ix:nonNumeric> <ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" format="ixt:booleanfalse" name="ecd:NonRule10b51ArrAdoptedFlag" id="Narr_g7CGrcGSvEGpYBwBjVGnSg">inform</ix:nonNumeric>ation.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" format="ixt:booleanfalse" name="ecd:NonRule10b51ArrTrmntdFlag" id="Narr_Z4vHmvcBkUiQocckMpPGWw">None</ix:nonNumeric>.</p><a id="_53fba422_da6b_4933_a2b9_2af0958b8f63"></a><a id="Item9CHoldingForeignCompaniesAccountable"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;">Item 9C. Disclosure Regarding Foreign Jurisdictions that Prevent Inspections</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">None.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:2pt;visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">45</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_3a1477d5_f94d_4eef_b5ea_e863e0e53aa3"></a><a id="PARTIII_465627"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">PART III</b></p><a id="Item10DirectorsExecutiveOfficersandCorpo"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 8pt 0pt;">Item 10. Directors, Executive Officers and Corporate Governance. </p><a id="_Hlk157514098"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The information called for by Items 401, 405, if required, and 407(c)(3), (d)(4) and (d)(5) of Regulation S-K, including information about our directors and executive officers, is incorporated by reference from the Company&#8217;s definitive proxy statement for the 2024 Annual Meeting of Stockholders to be filed pursuant to Regulation 14A under the Exchange Act no later than 120 days after the end of the Company&#8217;s 2023 fiscal year.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company has a code of ethics that applies to all of its employees, officers, and directors, including its principal executive officer, principal financial officer, principal accounting officer and corporate controller. The text of the Company&#8217;s code of ethics is posted on its website at www.innodata.com. The Company intends to disclose future amendments to, or waivers from, certain provisions of the code of ethics for executive officers and directors in accordance with applicable Nasdaq and SEC requirements.</p><a id="_9bb92f18_9c1a_464f_9bd4_6fd1ed9304c7"></a><a id="Item11ExecutiveCompensation_531235"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 8pt 0pt;">Item 11. Executive Compensation.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The information called for by Item 11 is incorporated by reference from the Company&#8217;s definitive proxy statement for the 2024 Annual Meeting of Stockholders to be filed pursuant to Regulation 14A under the Exchange Act no later than 120 days after the end of the Company&#8217;s 2023 fiscal year.</p><a id="_3b667f77_86b1_4ea7_a0d0_eb41241bdd63"></a><a id="Item12SecurityOwnershipofCertainBenefici"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">Item 12. Security Ownership of Certain Beneficial Owners and Management and Related Stockholder Matters.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The information required by this Item regarding the Company&#8217;s equity compensation plans is set forth in Part II, Item&#160;5 of this Annual Report on Form 10-K under the caption &#8220;Securities Authorized for Issuance Under Equity Compensation Plans&#8221; and is incorporated by reference herein. The information called for under Item 403 of Regulation S-K by Item 12 is incorporated by reference from the Company&#8217;s definitive proxy statement for the 2024 Annual Meeting of Stockholders to be filed pursuant to Regulation 14A under the Exchange Act no later than 120 days after the end of the Company&#8217;s 2023 fiscal year.</p><a id="_be410748_27c9_4705_aeda_cd39d94454bd"></a><a id="Item13CertainRelationshipsandRelatedTran"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">Item 13. Certain Relationships and Related Transactions, and Director Independence.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The information called for by Item 13 is incorporated by reference from the Company&#8217;s definitive proxy statement for the 2024 Annual Meeting of Stockholders to be filed pursuant to Regulation 14A under the Exchange Act no later than 120 days after the end of the Company&#8217;s 2023 fiscal year.</p><a id="_08e6503c_5cb5_4fbf_b5e3_3b451f928e76"></a><a id="Item14PrincipalAccountantsFeesandService"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">Item 14. Principal Accountant&#8217;s Fees and Services.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The information called for by Item 14 is incorporated by reference from the Company&#8217;s definitive proxy statement for the 2024 Annual Meeting of Stockholders to be filed pursuant to Regulation 14A under the Exchange Act no later than 120 days after the end of the Company&#8217;s 2023 fiscal year.</p><a id="_51e3d05d_3987_4f17_a2bd_9aa659c6079a"></a><a id="PARTIV_284649"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;">PART IV</b></p><a id="Item15ExhibitsFinancialStatementSchedule"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:justify;margin:0pt 0pt 10pt 0pt;">Item 15. Exhibits and Financial Statement Schedules.</p><table style="border-collapse:collapse;border:0;"><tr><td style="vertical-align:text-top;white-space:nowrap;width:36pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:8pt;margin-top:0pt;text-align:justify;">(a)(1)</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:8pt;margin-top:0pt;text-align:justify;">Financial Statements. The following Report of Independent Registered Public Accounting firm, consolidated financial statements, and accompanying notes are included in Item 8. Index to Financial Statements:</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Reports of Independent Registered Public Accounting Firms.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Consolidated Balance Sheets as of December 31, 2023 and 2022.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Consolidated Statements of Operations and Comprehensive Loss for the years ended December 31, 2023 and 2022.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Consolidated Statements of Stockholders&#8217; Equity for the years ended December 31, 2023 and 2022.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 8pt 0pt;">Consolidated Statements of Cash Flows for the years ended December 31, 2023 and 2022.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 8pt 0pt;"><span style="display:inline-block;text-align:left;width:36pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">(a)(2)</span></span>Exhibits - See Exhibit Index attached hereto, which is incorporated by reference herein.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">46</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_fb853312_eba5_490a_805e_44bf3af83225"></a><a id="Item16Form10KSummary_864079"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">Item 16. Form 10-K Summary.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">None.</p><a id="_1cc2248e_62d9_4a2f_b268_1f999b87b8fc"></a><a id="SIGNATURES_267162"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt 0pt 10pt 0pt;">SIGNATURES</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Pursuant to the requirements of Section 13 or 15(d) of the Securities Exchange Act of 1934, the registrant caused this report to be signed on its behalf by the undersigned, thereunto duly authorized.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;table-layout:auto;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:49.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:top;width:2.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:top;width:3.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:top;width:45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:top;width:49.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:top;width:48.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">INNODATA INC.</p></td></tr><tr><td style="vertical-align:top;width:49.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:top;width:48.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:49.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:3.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">By:</p></td><td style="vertical-align:top;width:45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">/s/ Jack S. Abuhoff</p></td></tr><tr><td style="vertical-align:top;width:49.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:3.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:45%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Jack S. Abuhoff</p></td></tr><tr><td style="vertical-align:top;width:49.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:3.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:49.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:3.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Chief Executive Officer and President</p></td></tr><tr><td style="vertical-align:top;width:49.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:3.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">March 4, 2024</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Pursuant to the requirements of the Securities Exchange Act of 1934, this report has been signed below by the following persons on behalf of the registrant and in the capacities and on the dates indicated.</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;table-layout:auto;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:32.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td><td style="vertical-align:top;width:1.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:top;width:32.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td><td style="vertical-align:top;width:1.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:top;width:32.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"></div></div></td></tr><tr><td style="vertical-align:top;width:32.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Signature</p></td><td style="vertical-align:top;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:top;width:32.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Title</p></td><td style="vertical-align:top;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:top;width:32.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Date</p></td></tr><tr><td style="vertical-align:top;width:32.25%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:32.25%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:32.24%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:32.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">/s/ Jack S. Abuhoff</p></td><td style="vertical-align:top;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:32.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Chief Executive Officer and President</p></td><td style="vertical-align:top;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:32.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">March 4, 2024</p></td></tr><tr><td style="vertical-align:top;width:32.25%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Jack S. Abuhoff</p></td><td style="vertical-align:top;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:32.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">(Principal Executive Officer)</p></td><td style="vertical-align:top;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:32.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:32.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:32.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:32.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:32.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">/s/ Marissa B. Espineli</p></td><td style="vertical-align:top;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:32.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Interim Chief Financial Officer</p></td><td style="vertical-align:top;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:32.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">March 4, 2024</p></td></tr><tr><td style="vertical-align:top;width:32.25%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Marissa B. Espineli</p></td><td style="vertical-align:top;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:32.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">(Principal Financial Officer and<br/>Principal Accounting Officer)</p></td><td style="vertical-align:top;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:32.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:32.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:32.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:32.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:32.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">/s/ Louise C. Forlenza</p></td><td style="vertical-align:top;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:32.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Director</p></td><td style="vertical-align:top;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:32.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">March 4, 2024</p></td></tr><tr><td style="vertical-align:top;width:32.25%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Louise C. Forlenza</p></td><td style="vertical-align:top;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:32.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:32.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:32.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:32.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:32.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:32.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">/s/ Stewart R. Massey</p></td><td style="vertical-align:top;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:32.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Director</p></td><td style="vertical-align:top;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:32.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">March 4, 2024</p></td></tr><tr><td style="vertical-align:top;width:32.25%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Stewart R. Massey</p></td><td style="vertical-align:top;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:32.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:32.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:32.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:32.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:32.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:32.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">/s/ Nauman (Nick) Toor</p></td><td style="vertical-align:top;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:32.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Director (Chairman)</p></td><td style="vertical-align:top;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:32.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">March 4, 2024</p></td></tr><tr><td style="vertical-align:top;width:32.25%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Nauman (Nick) Toor</p></td><td style="vertical-align:top;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:32.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:32.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 8pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="display:none;font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:0pt;margin:0pt 0pt 8pt 0pt;"><span style="font-size:0pt;visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">47</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_dafc93c2_13bf_4990_81ff_37e0aef32317"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">INNODATA INC. AND SUBSIDIARIES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">INDEX TO CONSOLIDATED FINANCIAL STATEMENTS</b></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr><td style="vertical-align:top;width:90%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:10%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">PAGE</b></p></td></tr><tr><td style="vertical-align:top;width:90%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:10%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:90%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a href="#ReportofIndependentRegisteredPublicAccou"><span style="font-style:normal;font-weight:normal;">Report of the Independent Registered Public Accounting Firm</span></a> (BDO India LLP; Mumbai, India; PCAOB ID#<ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="dei:AuditorFirmId" id="Narr_4WM1BPR-w0ayIZfstGxASA">6074</ix:nonNumeric>)</p></td><td style="vertical-align:bottom;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;">F-2</p></td></tr><tr><td style="vertical-align:top;width:90%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:90%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a href="#CONSOLIDATEDBALANCESHEETS_272503"><span style="font-style:normal;font-weight:normal;">Consolidated Balance Sheets as of December 31, 2023 and 2022 </span></a></p></td><td style="vertical-align:bottom;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;">F-4</p></td></tr><tr><td style="vertical-align:top;width:90%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:90%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a href="#CONSOLIDATEDSTATEMENTSOFOPERATIONSANDCOM"><span style="font-style:normal;font-weight:normal;">Consolidated Statements of Operations and Comprehensive Loss for the years ended December 31, 2023 and 2022</span></a></p></td><td style="vertical-align:bottom;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;">F-5</p></td></tr><tr><td style="vertical-align:top;width:90%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr style="height:12.15pt;"><td style="vertical-align:top;width:90%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a href="#CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUI"><span style="font-style:normal;font-weight:normal;">Consolidated Statements of Stockholders&#8217; Equity for the years ended December 31, 2023 and 2022</span></a></p></td><td style="vertical-align:bottom;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;">F-6</p></td></tr><tr><td style="vertical-align:top;width:90%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr style="height:10.8pt;"><td style="vertical-align:top;width:90%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a href="#CONSOLIDATEDSTATEMENTSOFCASHFLOWS_654384"><span style="font-style:normal;font-weight:normal;">Consolidated Statements of Cash Flows for the years ended December 31, 2023 and 2022</span></a></p></td><td style="vertical-align:bottom;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;">F-7</p></td></tr><tr><td style="vertical-align:top;width:90%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:10%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:90%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><a href="#a1DescriptionofBusinessandSummaryofSigni"><span style="font-style:normal;font-weight:normal;">Notes to Consolidated Financial Statements</span></a></p></td><td style="vertical-align:bottom;width:10%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;">F-8</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-1</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_24c67aec_432d_43ef_b975_03a3bfc2ac4f"></a><a id="ReportofIndependentRegisteredPublicAccou"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">Report of Independent Registered Public Accounting Firm</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt;">Shareholders and Board of Directors</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt;">Innodata Inc.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt 0pt 10pt 0pt;">Ridgefield Park, New Jersey</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">Opinion on the Consolidated Financial Statements</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We have audited the accompanying consolidated balance sheets of Innodata Inc. (the &#8220;Company&#8221;) as of December 31, 2023 and 2022, the related consolidated statements of operation and comprehensive loss, stockholders&#8217; equity, and cash flows for each of the years then ended, and the related notes (collectively referred to as the &#8220;consolidated financial statements&#8221;). In our opinion, the consolidated financial statements present fairly, in all material respects, the financial position of the Company at December 31, 2023 and 2022, and the results of its operations and its cash flows for the years then ended, in conformity with accounting principles generally accepted in the United States of America.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">Basis for Opinion</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">These consolidated financial statements are the responsibility of the Company&#8217;s management. Our responsibility is to express an opinion on the Company&#8217;s consolidated financial statements based on our audits. We are a public accounting firm registered with the Public Company Accounting Oversight Board (United States) (&#8220;PCAOB&#8221;) and are required to be independent with respect to the Company in accordance with the U.S. federal securities laws and the applicable rules and regulations of the Securities and Exchange Commission and the PCAOB.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We conducted our audits in accordance with the standards of the PCAOB. Those standards require that we plan and perform the audit to obtain reasonable assurance about whether the consolidated financial statements are free of material misstatement, whether due to error or fraud. The Company is not required to have, nor were we engaged to perform, an audit of its internal control over financial reporting. As part of our audits we are required to obtain an understanding of internal control over financial reporting but not for the purpose of expressing an opinion on the effectiveness of the Company&#8217;s internal control over financial reporting. Accordingly, we express no such opinion.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Our audits included performing procedures to assess the risks of material misstatement of the consolidated financial statements, whether due to error or fraud, and performing procedures that respond to those risks. Such procedures included examining, on a test basis, evidence regarding the amounts and disclosures in the consolidated financial statements. Our audits also included evaluating the accounting principles used and significant estimates made by management, as well as evaluating the overall presentation of the consolidated financial statements. We believe that our audits provide a reasonable basis for our opinion.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">Critical Audit Matter</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The critical audit matter communicated below is a matter arising from the current period audit of the consolidated financial statements that was communicated or required to be communicated to the audit committee and that: (1) relates to accounts or disclosures that are material to the consolidated financial statements and (2) involved our especially challenging, subjective, or complex judgments. The communication of critical audit matter does not alter in any way our opinion on the consolidated financial statements, taken as a whole, and we are not, by communicating the critical audit matter below, providing separate opinions on the critical audit matter or on the accounts or disclosures to which it relates.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-2</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Measurement of the provision for income tax expenses</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 10pt 0pt;">Description of Matter</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company is subject to income taxes in multiple tax jurisdictions and during the ordinary course of business, there are many tax positions for which the ultimate tax determination is uncertain due to complexities of transfer pricing, changing tax laws, and is involved in various tax litigations with respective tax authorities. Uncertainties arise primarily from certain ongoing tax litigations and open tax years for its foreign subsidiaries. As described in Note 6 to the consolidated financial statements, at December 31, 2023, the Company has recorded unrecognized tax benefits of $1.9 million for uncertain tax positions.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We identified measurement of accruals for the income tax exposures as a critical audit matter, as the amounts involved are material, and the determination of provision for taxes requires the Company to make judgments on tax issues and develop estimates regarding the Company&#8217;s exposure to tax risks. Further, auditing management judgments on whether the tax positions are probable of being sustained in tax assessments involves a high degree of subjectivity.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 10pt 0pt;">How the matter was addressed in our audit:</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The primary procedures we performed to address this critical audit matter included:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:36pt;"/><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">Obtaining an understanding of management&#8217;s process of estimating the provision for income taxes including assessment of uncertain tax positions and those related to interpretation of tax laws and its application in the estimation of tax liabilities including uncertain tax positions.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:36pt;"/><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">Testing the completeness of ongoing tax litigation by obtaining direct confirmations from external tax consultants for select geographies. Also tested the arithmetical accuracy of various computation.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:36pt;"/><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">Involving tax professionals with specialized skill and knowledge in domestic and international taxes, who assisted in:</span></td></tr></table><div style="margin-top:10pt;"></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:54pt;"/><td style="font-family:'Courier New';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">o</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">Reviewing and evaluating the Company&#8217;s data including assumptions used to determine the amount of tax benefit/expense to be recognized and tested the accuracy of the calculations</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:54pt;"/><td style="font-family:'Courier New';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">o</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">inspecting the correspondences and assessment orders with applicable tax authorities</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:54pt;"/><td style="font-family:'Courier New';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">o</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">evaluating the Company&#8217;s interpretation of tax laws, underlying facts and their potential impact on uncertain tax positions</span></td></tr></table><div style="margin-top:12pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt 0pt 6pt 0pt;">/S/&#160;<ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="dei:AuditorName" id="Narr_Jn4oM9eBKU6nraMhv50Eyw">BDO India LLP</ix:nonNumeric></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt 0pt 6pt 0pt;">We have served as the Company&#8217;s auditor since 2020.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="dei:AuditorLocation" id="Narr_Htvs5fNhkUqqCL0N13eoHQ">Mumbai</ix:nonNumeric>, India</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt 0pt 6pt 0pt;">March 4, 2024</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-3</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_8ab79a83_7424_4475_8fcb_b1fdb932b343"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">INNODATA&#160;INC. AND SUBSIDIARIES</p><a id="CONSOLIDATEDBALANCESHEETS_272503"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">CONSOLIDATED BALANCE SHEETS</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">DECEMBER 31, 2023 AND 2022</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;text-indent:0pt;margin:0pt;"><b style="font-weight:bold;">(in thousands, except share and per share data)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><a id="_40181cfb_26db_4d0c_9a02_ebad032d3ced"></a><a id="Tc_kS6pqYMMfUmJM-pfnUBvfw_1_2"></a><a id="Tc_I4Or2W1P3Eu5Oed5GGGIEg_1_5"></a><a id="Tc_7wFUEcDNdkyUjMobWzc8rw_2_0"></a><a id="Tc_Ql3IjPzb1kmW73-tvFfCyw_3_0"></a><a id="Tc_4sw7cKFYDUGS_W2aVxeKGQ_4_0"></a><a id="Tc_yZnl6RElMkyVtoY3U3CR6g_4_2"></a><a id="Tc_Tr1D0A2OfE6MuAKAsPCokg_4_5"></a><a id="Tc_MA_xHp1Jq06mm_-Y2cQ-Uw_5_0"></a><a id="Tc_jrTMM2IMjE2vFvBnORYL8Q_6_0"></a><a id="Tc_OkLZcrbqHkCcu4SeJwuJgw_7_0"></a><a id="Tc_zWgAr5cMQEWLwBbU6PbRPQ_8_0"></a><a id="Tc_URLDjyLyZ0GvmcoMQuxJQg_9_0"></a><a id="Tc_Dcv4boyoeU28Bfobc45dKw_10_0"></a><a id="Tc_3y-g_OJYCkmT8LqP5FUT6Q_11_0"></a><a id="Tc_ZjEUyUR44E2m_4VVw8lnAg_12_0"></a><a id="Tc_khnOq9Jir0eOy0DFwOE8Qw_13_0"></a><a id="Tc_plKg4042HUGN577QJWROig_14_0"></a><a id="Tc_O6_EKHIlukWFL40pF2_JWw_15_0"></a><a id="Tc_DDoWU6H-MEyWLOZzisnk7Q_15_2"></a><a id="Tc_zUQKe5OI2ESswKN7wsMIIg_15_5"></a><a id="Tc_uSXF5IYjuUu_lfCsie3uHg_16_0"></a><a id="Tc_DnEJFBei8keskJKkUR69VA_17_0"></a><a id="Tc_EGeCcx5o50WyEcxlKfvvyg_18_0"></a><a id="Tc_yl_sJc085k-Igt3LzpyrKg_18_2"></a><a id="Tc_HtDUFvxsFEqdtArB2V2PIA_18_5"></a><a id="Tc_dNZ8nm0d30qeLUHv3eyf_A_19_0"></a><a id="Tc_jt3Mw7fTpUaT4HsRVhHn4A_20_0"></a><a id="Tc_ezZkj_inS0KLx6L4m7Od8w_21_0"></a><a id="Tc_dl5ebgisUE6lIJ45Yy27UQ_22_0"></a><a id="Tc_C-pbODureU2C_yt_FIdTDA_23_0"></a><a id="Tc__463pO_LOUeG-Lhjv9WPuw_24_0"></a><a id="Tc_TknC5gIWoEGPW3p4X0mCew_25_0"></a><a id="Tc_kFC3nDeJ90KXQVTHCLhXvw_26_0"></a><a id="Tc_srrQWJfraEaMMxXDmtDImw_27_0"></a><a id="Tc_-YuAKiNMGUSJEbehalAvNA_28_0"></a><a id="Tc_1X523IT7XEWjZa1zGizGPg_30_0"></a><a id="Tc_CcURYL7-B0Oz9fnBbxhABw_32_0"></a><a id="Tc_kJ4_rCKLXUCqQTe5RALuNQ_33_0"></a><a id="Tc_nSFmspRpzESC1hb9MpP2tQ_34_0"></a><a id="Tc_E41ux2TZfUyU6-WMqvoY_Q_35_0"></a><a id="Tc_S693RxoGME-5aLkluNFUjw_36_0"></a><a id="Tc_Fu-5JUJBRkKH_szcwb_C1w_37_0"></a><a id="Tc_rtAVcCL-2kuDfi4G0pkZpg_38_0"></a><a id="Tc_H4T29YzzUUWlZVbmg-dvtg_40_0"></a><a id="Tc_3R5YcrLSdUymQXXnqm4sbg_41_0"></a><a id="Tc_2bUv2lEGeUq1PF69dekzUw_42_0"></a><a id="Tc_EoKYPiOzUU-abs5q5m_Kqg_42_2"></a><a id="Tc_VICk7bmg6kSV1o6lbXoMwA_42_5"></a><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">ASSETS</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Current assets:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Cash and cash equivalents</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="3" id="Tc_MiOxs6_WaU-yF_MSax1l9A_4_3">13,806</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="3" id="Tc_6KhS3sgyD0mSg7SCwKhkVg_4_6">9,792</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Short term investments - other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherShortTermInvestments" scale="3" id="Tc_Vm8fy6J9ZEGvaCfY5V3LVw_5_3">14</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherShortTermInvestments" scale="3" id="Tc_8GHRlMxNeECfHW4ZNY6Q-w_5_6">507</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Accounts receivable, net of allowance for doubtful accounts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableNetCurrent" scale="3" id="Tc_pQRW1GC81E2KR7ZCBd2LcA_6_3">14,288</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableNetCurrent" scale="3" id="Tc_c-NRjmNYp0KQ23FiWm6lrQ_6_6">9,528</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Prepaid expenses and other current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" scale="3" id="Tc_VoxpHVVkPkG69cX4TSUcag_7_3">3,969</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" scale="3" id="Tc_-ZZlyI-qD0mCpozULmFQAA_7_6">3,858</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 12pt;">Total current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetsCurrent" scale="3" id="Tc_NEjhPggK3kiypGTV2yU0Gw_8_3">32,077</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetsCurrent" scale="3" id="Tc_h0QyeQIEtU-c7Qa0pFHUyA_8_6">23,685</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Property and equipment, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentNet" scale="3" id="Tc_Gg1E0IOPmUW3rnGeWqUxxQ_9_3">2,281</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentNet" scale="3" id="Tc_6bgnVN6lR0qNCyLWJQSLbw_9_6">2,511</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Right-of-use-asset, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseRightOfUseAsset" scale="3" id="Tc_IApZRGr8KEiDBVjqvRA6Ag_10_3">5,054</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseRightOfUseAsset" scale="3" id="Tc_cEIIxp3kn0eXb9sFu9WPSw_10_6">4,309</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Other assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherAssetsNoncurrent" scale="3" id="Tc_mYRNSL3QekKO_9CQZhntNw_11_3">2,445</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherAssetsNoncurrent" scale="3" id="Tc_0XoOQnZsFEGoA4VQGEZopg_11_6">1,498</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Deferred income taxes, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxAssetsNet" scale="3" id="Tc_SB72mgL7mUOMHd5CohslWQ_12_3">1,741</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxAssetsNet" scale="3" id="Tc_dXFr90V7FEyNwxJE2SyPlw_12_6">1,475</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Intangibles, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IntangibleAssetsNetExcludingGoodwill" scale="3" id="Tc_j74sLKKiAk2nZWC1qjkbdw_13_3">13,758</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IntangibleAssetsNetExcludingGoodwill" scale="3" id="Tc_Ju929RRzOU6v_m1p9Izugg_13_6">12,526</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Goodwill</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Goodwill" scale="3" id="Tc_5tfwur4tVE-QvgJ5dw300g_14_3">2,075</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Goodwill" scale="3" id="Tc_UXH6VyVRVkOI-XCASgQYVw_14_6">2,038</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 24pt;"><b style="font-weight:bold;"> Total assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Assets" scale="3" id="Tc_X_e3zrPCpkmxNpDMA394Og_15_3">59,431</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Assets" scale="3" id="Tc_0T-0zh937U2tMgFT_7xcew_15_6">48,042</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">LIABILITIES, NON-CONTROLLING INTERESTS AND STOCKHOLDERS' EQUITY</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Current liabilities:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Accounts payable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsPayableCurrent" scale="3" id="Tc_RG85TM4L9EKIAAByZ_ytYA_18_3">2,662</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsPayableCurrent" scale="3" id="Tc_eHIw8Def2Eu29R_-lpKJPw_18_6">2,630</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Accrued expenses and other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccruedLiabilitiesCurrent" scale="3" id="Tc_d502nAavHEO3XYtpjppsuA_19_3">6,583</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccruedLiabilitiesCurrent" scale="3" id="Tc_RmgF9_comkaXDCEsa8ZBlA_19_6">7,250</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Accrued salaries, wages and related benefits</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EmployeeRelatedLiabilitiesCurrent" scale="3" id="Tc_vMLRHdTjmkmD6RxbSRTgPQ_20_3">7,799</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EmployeeRelatedLiabilitiesCurrent" scale="3" id="Tc_DgygbVZVhEO6_qfNzcS3Bw_20_6">6,136</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Income and other taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:TaxesPayableCurrent" scale="3" id="Tc_W898QUGuSEuv0ZIuhHm4Nw_21_3">3,848</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:TaxesPayableCurrent" scale="3" id="Tc_VXb4HZyqhE-J98H3gmRi2Q_21_6">3,230</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Long-term obligations - current portion</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="inod:CurrentPortionOfLongTermObligations" scale="3" id="Tc_KEkC6kVxJUKpeGee3p1S8Q_22_3">1,261</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="inod:CurrentPortionOfLongTermObligations" scale="3" id="Tc_Bqn_VshyPUiZesKl3U01Ng_22_6">877</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Operating lease liability - current portion</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityCurrent" scale="3" id="Tc_oQXApZHxzkyvj6_lHNVshg_23_3">782</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityCurrent" scale="3" id="Tc_HfSNN0uGv06VvSOkwnKvkA_23_6">693</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 12pt;"> Total current liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesCurrent" scale="3" id="Tc_v3Yhi-XgyUWeNFalr_abfQ_24_3">22,935</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesCurrent" scale="3" id="Tc_-9OnQGwEq0620_0Rk9Ajyw_24_6">20,816</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Deferred income taxes, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxLiabilitiesNet" scale="3" id="Tc_zFHkX2sus0ScfvGykjY6vA_25_3">22</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxLiabilitiesNet" scale="3" id="Tc_-M1IZ-ifmkOfd99Zl1Oxbw_25_6">65</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Long-term obligations, net of current portion</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="inod:NoncurrentPortionOfLongTermObligations" scale="3" id="Tc_WOJWBIBoIEOEwjn73Jtt7g_26_3">6,778</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="inod:NoncurrentPortionOfLongTermObligations" scale="3" id="Tc_FdjTDjRfvEaYNktc0orBzA_26_6">5,079</ix:nonFraction></p></td></tr><tr><td style="vertical-align:middle;white-space:nowrap;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Operating lease liability, net of current portion</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityNoncurrent" scale="3" id="Tc_9Mzz4EC9BEC6i-SrFCkZpA_27_3">4,701</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityNoncurrent" scale="3" id="Tc_CmE01w-rFkyKu0AZ2Mkn1A_27_6">4,036</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 12pt;">Total liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Liabilities" scale="3" id="Tc_jGJIb59900Cl3uCV8nPOlw_28_3">34,436</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Liabilities" scale="3" id="Tc_D4m9uI9d4ESPiJV9hSs0rg_28_6">29,996</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Commitments and contingencies</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="-sec-ix-hidden:Hidden_Yrd0PO226Uu10IfDKrwUSA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">-</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="-sec-ix-hidden:Hidden_z9oUjWSepkuXW7EHOzb18Q;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">-</span></span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Non-controlling interests</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RedeemableNoncontrollingInterestEquityCarryingAmount" sign="-" scale="3" id="Tc_mW0jj55i7EmtcMHyNnghuA_32_3">708</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RedeemableNoncontrollingInterestEquityCarryingAmount" sign="-" scale="3" id="Tc_GYxgYqFWvU2N8UZILe7g_A_32_6">727</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">STOCKHOLDERS&#8217; EQUITY</b>:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Serial preferred stock; <ix:nonFraction unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:PreferredStockSharesAuthorized" scale="0" id="Narr_Si3lppNx7U2EfCME63BKkw"><ix:nonFraction unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:PreferredStockSharesAuthorized" scale="0" id="Narr_rJVLuipTP0eOfT5C5XufGQ">4,998,000</ix:nonFraction></ix:nonFraction> shares authorized, <ix:nonFraction unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:PreferredStockSharesOutstanding" scale="0" id="Narr_-qqLhDMnUkakMVc4JnpbcA"><ix:nonFraction unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:PreferredStockSharesOutstanding" scale="0" id="Narr_Da5k6QR7dk6HOYp2-eUHqw">none</ix:nonFraction></ix:nonFraction> outstanding</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="-sec-ix-hidden:Hidden_vlvEup74iki0Z_pdtc4VRA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">-</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="-sec-ix-hidden:Hidden_XdYr6nBlSEWHwYx5f_2Giw;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">-</span></span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Common stock, $<ix:nonFraction unitRef="Unit_Divide_USD_shares_CsCIGYdPT06WFyu9y-PYzg" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="INF" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="Narr_mSVuFF-5pUq-nSnxMxt7kQ"><ix:nonFraction unitRef="Unit_Divide_USD_shares_CsCIGYdPT06WFyu9y-PYzg" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="INF" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="Narr_NvqIlz-1iE26FaXJZNR55w">.01</ix:nonFraction></ix:nonFraction> par value; <ix:nonFraction unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesAuthorized" scale="0" id="Narr_K9yRWKwNa0-jIpVa4Idscg"><ix:nonFraction unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesAuthorized" scale="0" id="Narr_DBlol9omlUmDKOX-C4JrPg">75,000,000</ix:nonFraction></ix:nonFraction> shares authorized; <ix:nonFraction unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesIssued" scale="0" id="Narr_v1JAYSYcmES6uRRbjE6cZA">31,937,000</ix:nonFraction> shares issued and <ix:nonFraction unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesOutstanding" scale="0" id="Narr_cYXvlZ2UGU2KJ83TtNiQlA">28,753,000</ix:nonFraction> outstanding at December 31, 2023 and <ix:nonFraction unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesIssued" scale="0" id="Narr_F1ZvXEla3kaN_htwC4QUiQ">30,589,000</ix:nonFraction> shares issued and <ix:nonFraction unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesOutstanding" scale="0" id="Narr_86EaE3F92kGt1GcJVT7T3A">27,405,000</ix:nonFraction> outstanding at December 31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CommonStockValue" scale="3" id="Tc_4Vizxpvxm0G3nTFyCnHWeg_35_3">320</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CommonStockValue" scale="3" id="Tc_teulgYywEEWD6OeNvq7YWg_35_6">306</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Additional paid-in capital</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdditionalPaidInCapital" scale="3" id="Tc_WgtoBM4UOEGrXnp02bRgtg_36_3">43,152</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdditionalPaidInCapital" scale="3" id="Tc_ag6Z5YFhzU22Hb8-P8OxcA_36_6">35,815</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Deficit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RetainedEarningsAccumulatedDeficit" sign="-" scale="3" id="Tc_-U0OsGLP-E-paw-8CG0hDA_37_3">9,683</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RetainedEarningsAccumulatedDeficit" sign="-" scale="3" id="Tc_k76jolqoxku9uEShzxXC6g_37_6">8,775</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Accumulated other comprehensive loss</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" sign="-" scale="3" id="Tc_8h_Vp-h2WEi7yh7XkvdZeg_38_3">1,621</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" sign="-" scale="3" id="Tc_TzgizqPCe0uVkxr7tIaQvA_38_6">2,108</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityBeforeTreasuryStock" scale="3" id="Tc_u79GH05r0kyqLbTvBn25cQ_39_3">32,168</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquityBeforeTreasuryStock" scale="3" id="Tc_DCmj0tNIW0SKwX4tTQhR5A_39_6">25,238</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Less: treasury stock, <ix:nonFraction unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockCommonShares" scale="0" id="Narr_jajre2mgUEaza0pbADsVZw"><ix:nonFraction unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockCommonShares" scale="0" id="Narr_ChrELjZ1-kaGir867o9Wqg">3,184,000</ix:nonFraction></ix:nonFraction> shares at December 31, 2023 and 2022, at cost</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockValue" scale="3" id="Tc_6vHG4ipDBU6MzLn19E65-A_40_3">6,465</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockValue" scale="3" id="Tc_ycmqILVVSE2GSjc0OctQoA_40_6">6,465</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 18pt;">Total stockholders&#8217; equity</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_UXI_o8NRF0ShWg7fyz2mIw_41_3">25,703</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_gH1iTt31wUKd4ZPoPQQY2A_41_6">18,773</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 12pt;"><b style="font-weight:bold;">Total liabilities, non-controlling interests and stockholders&#8217; equity</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesAndStockholdersEquity" scale="3" id="Tc_lrsGKPo05EWB_yk1bTYO6g_42_3">59,431</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesAndStockholdersEquity" scale="3" id="Tc__LkyvAFgSUGS1GbuXYz68A_42_6">48,042</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:8pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;text-indent:36pt;margin:0pt;">See notes to consolidated financial statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-4</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_3c4a58ec_df45_475c_a3f8_920e46d2a2f4"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">INNODATA&#160;INC. AND SUBSIDIARIES</p><a id="CONSOLIDATEDSTATEMENTSOFOPERATIONSANDCOM"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE LOSS</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">YEARS ENDED DECEMBER 31, 2023 AND 2022</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;text-indent:0pt;margin:0pt;"><b style="font-weight:bold;">(In thousands, except per share amounts)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-weight:bold;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><a id="_c807aa7f_d8b6_44ca_9dae_295608e153bb"></a><a id="_1504d9e2_31cc_496e_bcb5_c0e4e6bb89b7"></a><a id="Tc_l6Dk_JBzB0aI_SljM1xQ2Q_1_2"></a><a id="Tc_IdIUeOyZJk6I8fxQutxMWQ_1_5"></a><a id="Tc_s3ld8w1jP0eg9zl8DxCcJw_2_0"></a><a id="Tc_pZ8TIMBjoUmbM5_otKeuXw_2_2"></a><a id="Tc_wKrh_IEDVU6Nh4U3Xtk0Gw_2_5"></a><a id="Tc_KoJu-tzzp0yxqI_HXMBKDQ_3_0"></a><a id="Tc_juKQ6sIX00agytiCGJWDJg_4_0"></a><a id="Tc_r6QGa_yJtUaVtPwnIQkgXg_5_0"></a><a id="Tc_bcYZ1FKWJ0iO0QpVgFplWg_7_0"></a><a id="Tc_PBhMKMWMf0-Hd0fiHyBqNQ_9_0"></a><a id="Tc_j2hqpIgGy02RmBEs1GWyqg_11_0"></a><a id="Tc_yLx418h5Zk6DjHd40DhcXA_13_0"></a><a id="Tc_fIGtleXpjEmI7BnT37tnNw_15_0"></a><a id="Tc_DJBU0_BeF0ux-jzgmeF4ZQ_15_2"></a><a id="Tc__EtPleRmbk-nWO_XXaoLvg_15_5"></a><a id="Tc_2PIptiEhkkCe4B3I9cQXyA_17_0"></a><a id="Tc_e1IKevCxcUCbbriLQS9OXA_18_0"></a><a id="Tc_erXskXBH-EyORf1VK0iSEA_18_2"></a><a id="Tc_uyGDOnX3IkC-XnnMx6gFHA_18_5"></a><a id="Tc_fp0cluepLUCl8KVE1--oRg_20_0"></a><a id="Tc_Vxbxwj50aU6T94TvqqWioA_21_0"></a><a id="Tc_9ibVq9CpME--4btUTL8Rng_23_0"></a><a id="Tc_taZLzOjbnEukE4IioaK3_Q_24_0"></a><a id="Tc_vRDWDTfgF0q2yYAdimrW5Q_24_2"></a><a id="Tc_FbTqu41QtkWBrauIPjCqqg_24_5"></a><a id="Tc_ng-4KqgJKk6_UKVvywVN6g_25_0"></a><a id="Tc_pDQMfKZzbk6NE_tUKBDkww_26_0"></a><a id="Tc_kEKnhfWHZEKu4MkkFHfmpQ_27_0"></a><a id="Tc_3tIZZ5T500SMB2sL77q0mA_28_0"></a><a id="Tc_oe7QWHm2YUCkuYXVqyjFTA_29_0"></a><a id="Tc_RuHmll7Ee0aP9lRWBFX-VQ_30_0"></a><a id="Tc_LVFlkr7oCkGPnt_0vUMU1A_31_0"></a><a id="Tc_srLaaPGaCkWUt7h2sHPHTQ_31_2"></a><a id="Tc_CxewvMoU2EKKeYaKBagJng_31_5"></a><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Revenues</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="3" id="Tc_VJ3nKDqSzUebsCABTdT7mw_2_3">86,775</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="3" id="Tc_VgBZUNBxIE-uY8p5w9f4nw_2_6">79,001</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Direct operating costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DirectOperatingCosts" scale="3" id="Tc_uilnpFRtX0aaDgruxUlKgw_3_3">55,482</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DirectOperatingCosts" scale="3" id="Tc_uSwRBBVM6kie3yFkhSkEnQ_3_6">51,533</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Selling and administrative expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SellingGeneralAndAdministrativeExpense" scale="3" id="Tc_7O9elMn920aJ7LRclOF45g_4_3">30,975</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SellingGeneralAndAdministrativeExpense" scale="3" id="Tc_OJtm90Dyb0mSOb-qXZMGlw_4_6">37,940</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Interest expense, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestIncomeExpenseNonoperatingNet" sign="-" scale="3" id="Tc_qBddo3gOgU61g9vBZpoIpg_5_3">179</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestIncomeExpenseNonoperatingNet" sign="-" scale="3" id="Tc_tf_8ImFOxUWFr-vABmplnQ_5_6">11</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 6pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostsAndExpenses" scale="3" id="Tc_TLW7oFByy0GpBecHjzcW8A_6_3">86,636</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostsAndExpenses" scale="3" id="Tc_8yP9vWzf7Eiaet5SZooUGA_6_6">89,484</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Income (loss) before provision for income taxes</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_1Yro6zbNxUmnDg-6mRPGhw_7_3">139</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" sign="-" scale="3" id="Tc_T96YuGnyJ0O6kHpbg11SmA_7_6">10,483</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Provision for income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_KrPMM-XhVECCuJZBVexA3Q_9_3">1,028</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_8IxDkR1K3keouX2XfvohDg_9_6">1,522</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Consolidated net loss</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" sign="-" scale="3" id="Tc_swpYCJRDwkuhAJOMmNvT9Q_11_3">889</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" sign="-" scale="3" id="Tc_IQyoafO6cECxFIwBuIuh0Q_11_6">12,005</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Income (loss) attributable to non-controlling interests</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAttributableToNoncontrollingInterest" scale="3" id="Tc_0iISRVGBxk2WcFL0wtBAhg_13_3">19</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLossAttributableToNoncontrollingInterest" sign="-" scale="3" id="Tc_i3zH24dXtEyBTAfgId3mNw_13_6">70</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Net Loss attributable to Innodata Inc. and Subsidiaries</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="inod:NetIncomeLossAttributableToParent1" sign="-" scale="3" id="Tc_XZf49KCAvUSWunj3gZ5CtQ_15_3">908</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="inod:NetIncomeLossAttributableToParent1" sign="-" scale="3" id="Tc_EPgCx002SEuaMXUz6lLhxA_15_6">11,935</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Loss per share attributable to Innodata Inc. and Subsidiaries:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Basic and Diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Divide_USD_shares_CsCIGYdPT06WFyu9y-PYzg" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareBasic" sign="-" scale="0" id="Tc_6wmxs1voD0WNppwuOH2U9w_18_3"><ix:nonFraction unitRef="Unit_Divide_USD_shares_CsCIGYdPT06WFyu9y-PYzg" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareDiluted" sign="-" scale="0" id="Tc_6wmxs1voD0WNppwuOH2U9w_18_3_2">0.03</ix:nonFraction></ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Divide_USD_shares_CsCIGYdPT06WFyu9y-PYzg" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareBasic" sign="-" scale="0" id="Tc_tOMNHynftEyeHLTJRrQt7g_18_6"><ix:nonFraction unitRef="Unit_Divide_USD_shares_CsCIGYdPT06WFyu9y-PYzg" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:EarningsPerShareDiluted" sign="-" scale="0" id="Tc_tOMNHynftEyeHLTJRrQt7g_18_6_2">0.44</ix:nonFraction></ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 6pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted average shares outstanding:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Basic and Diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" id="Tc_aXengro320qA1hocggR2PA_21_3"><ix:nonFraction unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="0" id="Tc_aXengro320qA1hocggR2PA_21_3_2">28,131</ix:nonFraction></ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" id="Tc_E-OeSWp7Ski4-5-Bm8YTtw_21_6"><ix:nonFraction unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="0" id="Tc_E-OeSWp7Ski4-5-Bm8YTtw_21_6_2">27,278</ix:nonFraction></ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 6pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Comprehensive Loss:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Consolidated net loss</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" sign="-" scale="3" id="Tc_wu_d0N581Em8gM2uTirRPA_24_3">889</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" sign="-" scale="3" id="Tc_gVwC9JkQV028ZVkZGAP2dA_24_6">12,005</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Pension liability adjustment, net of taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" scale="3" id="Tc_y44dJWvNNEelShzK-x-DXQ_25_3">326</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" sign="-" scale="3" id="Tc_-3noh0KkSUuQvvyxvYC8Hg_25_6">772</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Foreign currency translation adjustment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" scale="3" id="Tc_GqDxfCUj3kyyWZO0Cq1RAQ_26_3">407</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" sign="-" scale="3" id="Tc_9xE2xHNHskqb0Igf7_jQeQ_26_6">676</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Change in fair value of derivatives, net of taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" scale="3" id="Tc_FenFeZPTIE6TJrb5_a4ZVQ_27_3">406</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" sign="-" scale="3" id="Tc_l-4U-Bxi5E2wN4jnqXQzPw_27_6">12</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"><span style="white-space:pre-wrap;">   Other comprehensive income</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossNetOfTax" scale="3" id="Tc_rBzKslfxCEaxU4opE5TEoA_28_3">487</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossNetOfTax" scale="3" id="Tc_4Bg-Zm1_R0aHAuCNBgCZcg_28_6">84</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Total comprehensive loss</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" sign="-" scale="3" id="Tc_RwHQzmdQaUOY7ARddg7zqw_29_3">402</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" sign="-" scale="3" id="Tc_0v8KuJtN3UOSkUBoco5SYg_29_6">11,921</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Comprehensive income (loss) attributed to non-controlling interest</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" scale="3" id="Tc_q7Yvf00iV0ew46UXk7LU9w_30_3">19</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" sign="-" scale="3" id="Tc_4jr-sJ5ctkemVonz7eZ5ZA_30_6">70</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Comprehensive loss attributable to Innodata Inc. and Subsidiaries</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ComprehensiveIncomeNetOfTax" sign="-" scale="3" id="Tc_P5aCR393wUWPdKOI1aNOpg_31_3">421</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ComprehensiveIncomeNetOfTax" sign="-" scale="3" id="Tc_96u-hFvydUaSPtvFq1QrLg_31_6">11,851</ix:nonFraction>)</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;text-indent:36pt;margin:0pt;">See notes to consolidated financial statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-5</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_086426bb_0da5_4713_bc29_41eb97d5e002"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">INNODATA&#160;INC. AND SUBSIDIARIES</p><a id="CONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUI"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">CONSOLIDATED STATEMENTS OF STOCKHOLDERS&#8217; EQUITY</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;text-indent:0pt;margin:0pt;"><b style="font-weight:bold;">YEARS ENDED DECEMBER 31, 2023 AND 2022</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;text-indent:0pt;margin:0pt;"><b style="font-weight:bold;">(In thousands)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_71fbbaf4_3c09_44c5_a93a_68ac58f7731d"></a><a id="Tc_iQ3sepAlDUmOiAFj4ntJ3Q_1_13"></a><a id="Tc_Xw2eRi1zWUK8Ltyh9ZDBdw_2_7"></a><a id="Tc_l6x4l6hpXUaJj1Bcl8iRGA_2_13"></a><a id="Tc_VOJnaqpx_0y9vVHuz4bDbQ_3_2"></a><a id="Tc_isRgrherik-d_NUCQ3KJTA_3_7"></a><a id="Tc_bhxpeaKSO0anz0v7J4wm6g_3_10"></a><a id="Tc_ove9edTOhk2GFL1WGDmAxA_3_13"></a><a id="Tc_iKySf2xz7Ea67t8amjorhQ_3_16"></a><a id="Tc_0LMSdvtde0GQNEJJS8KDuw_4_2"></a><a id="Tc_qtAT5AVenUyh4Elss-uYbA_4_4"></a><a id="Tc_68PxqLI4_EybGFp-s9yG5A_4_7"></a><a id="Tc_CsbsbVB65k2NWgI5Ia_2fA_4_10"></a><a id="Tc_Y9-W3zYmwEqqAfaap_dtMw_4_13"></a><a id="Tc_PhDZIUT5uEiLpkyFyS1PRA_4_16"></a><a id="Tc_gcB70hWSA0uFs0dcM9BF1w_4_18"></a><a id="Tc_6ONbWUCP1kaSw5BlcldISQ_4_21"></a><a id="Tc_duF35sdR4UW3RU-3tFb7Wg_5_0"></a><a id="Tc_vn3yQktTHUGo5wl8WA3FjQ_6_0"></a><a id="Tc_8iYbYH0TdU-SuAthTQ4BOA_6_2"></a><a id="Tc_BhPRPFPuHEaLKA9ZcbbxOg_6_5"></a><a id="Tc_RmMY8sq3T0eBMgiER4qyLQ_6_8"></a><a id="Tc_F35D_S20ik-QKOHZgPM6cg_6_14"></a><a id="Tc_2uqeQeYdo0qeaC3PaQDvSQ_6_16"></a><a id="Tc_x8EVwUalKE6f3xo0bYHaNw_6_19"></a><a id="Tc_aCTA7pRN-kKmMzLEp2jOmQ_7_0"></a><a id="Tc_fn9GcQDdAECjmgTBdgWprQ_7_2"></a><a id="Tc_QLyO6q47s0iEp8GilI3TGg_7_5"></a><a id="Tc_KG5nKOF31UGrQKGFQJoNKw_7_11"></a><a id="Tc_hRS5_onVTkiHFR7JZAqAzg_7_14"></a><a id="Tc_Ghm5qjKLTEqWGqh5yfngaQ_7_16"></a><a id="Tc_x6qNT90PXUSxkt538Z4vLQ_7_19"></a><a id="Tc_IXHCifystkiv8QvK9M8MjQ_8_0"></a><a id="Tc_-oTMq11HPEOzQj2M-CV2Vw_8_11"></a><a id="Tc_mcL_O79L4U2hcGTWimHMKA_8_14"></a><a id="Tc_jx4hk25LbUyf-GCsgxYmmw_8_16"></a><a id="Tc_xTSWgcgBX0qzBGiSu-opzQ_8_19"></a><a id="Tc_eh13KdqjEkK11SDoKyTy-A_9_0"></a><a id="Tc_GLt8stzQ3Uifv5r4vIF9Ww_9_5"></a><a id="Tc_azkTXHBfMEOE2KAWPvtBEA_9_11"></a><a id="Tc_BhbXQkOL80WD9Jj09zeOLQ_9_14"></a><a id="Tc_PX32yrD6YECIDcRkelLK4A_9_16"></a><a id="Tc_nyOnLhNXqEWI7V1TVYVHIg_9_19"></a><a id="Tc_ndj6UjEcC0OC5TglIlj0Iw_10_0"></a><a id="Tc_YTFDc1W8PUOt12C1uqqhEA_10_2"></a><a id="Tc_xHWlCgWnYUGjv7gQTnDqQA_10_5"></a><a id="Tc_wVoAJS-5A0i__RXM3aQ3Gw_10_11"></a><a id="Tc_utxiTyqgxUWAIss-cfTeYw_10_14"></a><a id="Tc_zQLgXYJXPUyL06NRnfd-VQ_10_16"></a><a id="Tc_8dZd0hdMMEmHeoyb5qQyOQ_10_19"></a><a id="Tc_b9PZj5hATUqV3yD84YALQQ_11_0"></a><a id="Tc_WQaJUuYW-EqpmQHCH74LUw_11_2"></a><a id="Tc_cLVpqr9TYkWiO8nFaFgwOA_11_5"></a><a id="Tc_AWJHLR0Zrke4UG_IcCLJNw_11_8"></a><a id="Tc_ZUxKkcR4TU-h_YKDw41AqA_11_11"></a><a id="Tc_linWCejv2UW47-9F2I8Owg_11_16"></a><a id="Tc_TNSi4Me_kEmGiq3lHvai4Q_11_19"></a><a id="Tc_KqtCLhKO9UGzfY9NtNE8dw_12_0"></a><a id="Tc_afeufWSViUiSlQVQo1TtbQ_12_2"></a><a id="Tc_eLyijjLFL0mh0CLre-I30Q_12_5"></a><a id="Tc_yCnG0Sgwok2wjQa7B6z_EQ_12_8"></a><a id="Tc_cKlBJ3cZGEO5kHUCS50gqw_12_11"></a><a id="Tc_ki87kxH4LUyeZf9i5f-idA_12_16"></a><a id="Tc_pypAUEXrxUOZm6_urN1Rgg_12_19"></a><a id="Tc_cYyDJqJPXUCPIVmgFaUY5w_13_0"></a><a id="Tc_sxsaEUnH7EmCwCDBnWp2BQ_13_2"></a><a id="Tc_SAWM5YMogkGgEDJfraziDg_13_5"></a><a id="Tc_rYdSuPbpyU-90AnTlwDU0Q_13_8"></a><a id="Tc_c-57UeRc2UmON2aAJ9_UUA_13_11"></a><a id="Tc_CpIw4CWEGk2qV6VrtZNEdw_13_16"></a><a id="Tc_9wyTBXYuZEyForT6Qt1rVQ_13_19"></a><a id="Tc_5lzMcwpvXUyjdJ4AxGryyA_14_0"></a><a id="Tc_kLYCm0imBkKuhkrMqGGkCA_15_0"></a><a id="Tc_V5gYaO0pO0qzItL0eO4oDg_15_2"></a><a id="Tc_cdXi-SHuZUufoagZdq1YKA_15_5"></a><a id="Tc_cSowCjC64E-Gz8y1F_ywfA_15_8"></a><a id="Tc_x3JNtMKtCEy1aZMYnOOy_w_15_14"></a><a id="Tc_6PAzJbUajkGulLKVmnkkCQ_15_16"></a><a id="Tc_TpNC5ysJb0KFfesnUGMsJw_15_19"></a><a id="Tc_kA4mEnLRkEGsqwwF_xDbKw_16_0"></a><a id="Tc_0fKRfkD3WkydjFfpdOG_aQ_16_2"></a><a id="Tc_GaI9K8lgBUCntboHCQ-NXg_16_5"></a><a id="Tc_TAK7Und-lkWA5HKK2a3tug_16_11"></a><a id="Tc_mbzPIVSgJESVXzlgUxXJ8A_16_14"></a><a id="Tc_Ou99_jnUmUWqm0BEpuwadA_16_16"></a><a id="Tc_mxL8LVKD-UW--99NeC-Rnw_16_19"></a><a id="Tc_f90lD-z-CkS1i-qvIxSZag_17_0"></a><a id="Tc_hbEQG8QLC06P8Cu53Is71g_17_11"></a><a id="Tc_h8gGfbKn70idgF-uwddc3Q_17_14"></a><a id="Tc_JiYRddZ-yUeDCaPRIexDPA_17_16"></a><a id="Tc_rWVBklfbJ0K_PpNbFeBsdA_17_19"></a><a id="Tc_HIfZ03sS0k6lOgRN_y4o9w_18_0"></a><a id="Tc_yxmIMO28jUOxHMUw76ykVw_18_5"></a><a id="Tc_OAD9srmQcEmOtnuiBHrErQ_18_8"></a><a id="Tc_e11TkLCt0UGUEJFIk3FKbA_18_11"></a><a id="Tc_drJlTtIkOkK-Hj3KGcj7PA_18_14"></a><a id="Tc_0O5ZxwLc4ECh4AX3b8KCkg_18_16"></a><a id="Tc_gFabVj-fTUCMyBuXBjOW0A_18_19"></a><a id="Tc_ANbY2i4kg0Cp5IJtOykItA_18_22"></a><a id="Tc_9EztKkXN60Soh-AAST-LMw_19_0"></a><a id="Tc_Ah_RVThkX06xiz5ElccCDA_19_2"></a><a id="Tc_8kMSzqRKQU6CBTecGLbawQ_19_5"></a><a id="Tc_iGLUoDIowU6UUk3jUR85MA_19_8"></a><a id="Tc_5gzNKI0v70qLdAghWCocWA_19_11"></a><a id="Tc_9byof50HjUmSAXTwXR5N5g_19_16"></a><a id="Tc_H-cUYBeSgkWL6Xzfmv-Adg_19_19"></a><a id="Tc_z0krZQdBs0iMvY3e-Rr1rA_20_0"></a><a id="Tc_vlBjIDvaLE-6sstMspDrBA_20_2"></a><a id="Tc_1eIyDcl5nkmzSwIqEpXm-w_20_5"></a><a id="Tc_waacW-N250K2en_gh2530A_20_8"></a><a id="Tc_vUFt8kl-NEONGJjZl09qUw_20_11"></a><a id="Tc_0I2EA0RXQUKpc3Ju8ZhmGg_20_16"></a><a id="Tc_rdoLdeBPhUe3CCRaMevkPA_20_19"></a><a id="Tc_4TTWft4yXUm7X_4znsSs_A_21_0"></a><a id="Tc_GDilS0TczE6oyWkaMuNv8A_21_2"></a><a id="Tc_F-GKZBgTDky0UvpxL11lfg_21_5"></a><a id="Tc_EGSLgb_HrkS_RAbg6m1whA_21_8"></a><a id="Tc_1Oj14jWyJkmfyYwhr1f9vg_21_11"></a><a id="Tc_pMee68QbSUOkbrtk4iEVoA_21_16"></a><a id="Tc_LRwQqtfCPEimq_P-phexqQ_21_19"></a><a id="Tc_MQfxOp-i3U6hOwCiDm0BIQ_22_0"></a><a id="Tc_s74hmfp_E0-K1QkVpmc2zQ_22_4"></a><a id="Tc_BSDorvn5pk-RfMRmvK-i5A_22_7"></a><a id="Tc_-30ETZiXWEy2C2XlvxE7gA_22_10"></a><a id="Tc_j9EmiTQ54UapwdQaWrFxcg_22_13"></a><a id="Tc_25QQphNdG0mIIBC8_-LqGw_22_18"></a><a id="Tc_Knar9Sxdx0aDLAALconC1g_22_21"></a><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:26.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:5.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:5.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:5.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:5.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:26.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Accumulated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:26.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Additional</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Other</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:26.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:13.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Common&#160;Stock</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Paid-in</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Retained</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Comprehensive</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:13.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Treasury Stock</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:26.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Shares</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:6.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Capital</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Earnings</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Loss</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Shares</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:6.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:6.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:26.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:8.5pt;font-weight:bold;">January 1, 2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="font-size:8.5pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw" contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_pBF4Y-Lg6kCL3PAB9bTWNw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SharesOutstanding" scale="3" id="Tc_lG-DaaQFeEWon7_T-Kz_nw_5_2">30,347</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="font-size:8.5pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_pBF4Y-Lg6kCL3PAB9bTWNw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_LggSxC2QCE6zJLO8T7VsqQ_5_5">303</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="font-size:8.5pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_OguCQ5maD0G16LhxXCOQ4w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_yLDbdQ40Bk26dnjrwgjeEw_5_8">35,121</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="font-size:8.5pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_jf7hkqiWX0egegZhEMcvTA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_aFZ7Pmr2EEuBzMsQ7pibIQ_5_11">3,160</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_FJvH64UhtkiszY9Kg4pazw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" sign="-" scale="3" id="Tc_IbvC3gAXh0SdcoU0fVIYNA_5_14">2,192</ix:nonFraction>)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw" contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_H0GPcDIcOU2QbycbGACgMA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockCommonShares" sign="-" scale="3" id="Tc_2vO8j_9FWES_IDFIeWAhow_5_16">3,184</ix:nonFraction>)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_H0GPcDIcOU2QbycbGACgMA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" sign="-" scale="3" id="Tc_zJZjLl5tzEe_WXnBykXlBQ_5_19">6,465</ix:nonFraction>)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="font-size:8.5pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2021_LPWzI6J5HECBN2kqx3f4aQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_l6eTi3ZdckGQ-zkn9BV__A_5_22">29,927</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;width:26.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">Net loss attributable to Innodata Inc. and Subsidiaries</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_2VTL9IGn-0qYfrYlQnKN3w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" sign="-" scale="3" id="Tc_wtzzIufgOUmn_hCoKiQYvA_6_11">11,935</ix:nonFraction>)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" sign="-" scale="3" id="Tc_fKD6CviZ6EuJHgEtJN-qSQ_6_22">11,935</ix:nonFraction>)</span></p></td></tr><tr><td style="vertical-align:bottom;width:26.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">Stock-based compensation</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="font-size:8.5pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_TDgoK54eBUmCow_apWlqcg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="Tc_0fvuDulQGECp3_j_OJA66w_7_8">3,283</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="font-size:8.5pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="Tc_b2qoFCWHWkWIqB2Mb3e31g_7_22">3,283</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;width:26.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">Stock option exercises</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="font-size:8.5pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_4inx0p5d60qmVZRrhN40GQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="3" id="Tc_9f0-YcTzbEi_etEeC-t5og_8_2">249</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="font-size:8.5pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_4inx0p5d60qmVZRrhN40GQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" id="Tc_OeGwJ41sH0ymOHz2CZ83rg_8_5">3</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="font-size:8.5pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_TDgoK54eBUmCow_apWlqcg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" id="Tc_e9AqzN5IukiOvWHh_SS58w_8_8">329</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="font-size:8.5pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" id="Tc_Jwx8Lir9xkOADoCUIBvRig_8_22">332</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;width:26.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">Shares withheld for taxes on restricted shares vesting</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_4inx0p5d60qmVZRrhN40GQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RestrictedStockSharesIssuedNetOfSharesForTaxWithholdings" sign="-" scale="3" id="Tc_gwWOZVzm-ku_Ck61Cv8RJQ_9_2">7</ix:nonFraction>)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_TDgoK54eBUmCow_apWlqcg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RestrictedStockValueSharesIssuedNetOfTaxWithholdings" sign="-" scale="3" id="Tc_0DNm567jJUG_-omJsy-ZiA_9_8">53</ix:nonFraction>)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RestrictedStockValueSharesIssuedNetOfTaxWithholdings" sign="-" scale="3" id="Tc_3j5ISYvhBU2bwtDDrxBKjA_9_22">53</ix:nonFraction>)</span></p></td></tr><tr><td style="vertical-align:bottom;width:26.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">Redemption of non-controlling interest</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_TDgoK54eBUmCow_apWlqcg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalOther" sign="-" scale="3" id="Tc_O3hA1vnXEkuTR0_sQvV7Gg_10_8">2,865</ix:nonFraction>)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalOther" sign="-" scale="3" id="Tc_yoxQ9qyHq0iROv2gnkfvBQ_10_22">2,865</ix:nonFraction>)</span></p></td></tr><tr><td style="vertical-align:bottom;width:26.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">Pension liability adjustments, net of taxes</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="font-size:8.5pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_cOS_gIzBZ0CnbFN3FJi6eA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" sign="-" scale="3" id="Tc_9oT7MbvDnEuZROJzlqWX9A_11_14">772</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="font-size:8.5pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" sign="-" scale="3" id="Tc_qT1r3DFeT0K3rLV8u6ksrw_11_22">772</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;width:26.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">Foreign currency translation adjustment</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_cOS_gIzBZ0CnbFN3FJi6eA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" sign="-" scale="3" id="Tc_6S4tRU4PWk6WqOeblxHP9w_12_14">676</ix:nonFraction>)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" sign="-" scale="3" id="Tc_4s1uNk_rhU2I08ObwJ7NnA_12_22">676</ix:nonFraction>)</span></p></td></tr><tr><td style="vertical-align:bottom;width:26.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">Change in fair value of derivatives, net of taxes</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.88%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.28%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.65%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_cOS_gIzBZ0CnbFN3FJi6eA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" sign="-" scale="3" id="Tc_tl4XrjVPfUiedViKr0IzWw_13_14">12</ix:nonFraction>)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.35%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.88%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.78%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.77%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" sign="-" scale="3" id="Tc_gvPIDq5yn0mzl740PS4lRg_13_22">12</ix:nonFraction>)</span></p></td></tr><tr><td style="vertical-align:bottom;width:26.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:8.5pt;font-weight:bold;">December 31, 2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="font-size:8.5pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw" contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_9XCb8WP8tEqD94mDq4uchg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SharesOutstanding" scale="3" id="Tc_7POv5QLWc06cMAmOVDhEHA_14_2">30,589</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="font-size:8.5pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_9XCb8WP8tEqD94mDq4uchg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_XbyDJXb6okGFMSBPPsWPzQ_14_5">306</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="font-size:8.5pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_OA_fgtmpVkC1MWGVYBi_hQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_i2GNn3sDfkKkCl9Y9NJrmA_14_8">35,815</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_Xh-mWyVn70OE9xUci_IQRQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" sign="-" scale="3" id="Tc_lF35usudTkmhYvAucWxT8A_14_11">8,775</ix:nonFraction>)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_c7lWhPVgBE-WkvyMz14pyQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" sign="-" scale="3" id="Tc_L-RXatoUQkixYN1rg-CkMQ_14_14">2,108</ix:nonFraction>)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw" contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_c9nI-ppBdkmTCKau0PGdkA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockCommonShares" sign="-" scale="3" id="Tc_VNT0nLtNS0C258gbSme1YQ_14_16">3,184</ix:nonFraction>)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_c9nI-ppBdkmTCKau0PGdkA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" sign="-" scale="3" id="Tc_oCENd7JsfUWItvUxnrpPHg_14_19">6,465</ix:nonFraction>)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="font-size:8.5pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_K4ywWxuUREWM8Vukwi6YXQ_14_22">18,773</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;width:26.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">Net loss attributable to Innodata Inc. and Subsidiaries</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_eEeeUQr3mkibdWknCwAtkQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" sign="-" scale="3" id="Tc_-MiD3JAp5kenPj2k2fKFOw_15_11">908</ix:nonFraction>)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" sign="-" scale="3" id="Tc_5H5TP5LneE2GEcYiqsUKVg_15_22">908</ix:nonFraction>)</span></p></td></tr><tr><td style="vertical-align:bottom;width:26.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">Stock-based compensation</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="font-size:8.5pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_Au2u0M_T90mYM-zrpZkzkQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="Tc_E9L0NQXwBkK7KUtDJgFYZQ_16_8">4,027</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="font-size:8.5pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="Tc_0Livaj5J5U-UxCq8PvkE1Q_16_22">4,027</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;width:26.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">Stock option exercises</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="font-size:8.5pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_btqtIDidsk634d3sKbH3_w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="3" id="Tc_lmIrI0mTg0iOIFfGzAbc4g_17_2">1,351</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="font-size:8.5pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_btqtIDidsk634d3sKbH3_w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" id="Tc_KGMPSks8bEilDKwHnwIWYA_17_5">14</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="font-size:8.5pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_Au2u0M_T90mYM-zrpZkzkQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" id="Tc_jBA5xaQNr0GIxCcsycT9Ng_17_8">3,310</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="font-size:8.5pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" id="Tc_TkEKD-nRNE-TmeuiqCJeYA_17_22">3,324</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;width:26.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;white-space:pre-wrap;">Shares withheld for exercise net settlement  </span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_btqtIDidsk634d3sKbH3_w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation" scale="3" id="Tc_-f30-JH570SJm508DfY_1w_18_2">3</ix:nonFraction>)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td></tr><tr><td style="vertical-align:bottom;width:26.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">Pension liability adjustments, net of taxes</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_RUyaer8lGE6_VcQ9LicmRQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" scale="3" id="Tc_r5m5oddWE0eF2b9sWmt1Fw_19_14">326</ix:nonFraction>)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" scale="3" id="Tc_LeXMfG5Tr0eZxAbm9N3yPg_19_22">326</ix:nonFraction>)</span></p></td></tr><tr><td style="vertical-align:bottom;width:26.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">Foreign currency translation adjustment</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="font-size:8.5pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_RUyaer8lGE6_VcQ9LicmRQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" scale="3" id="Tc_cotCtZBOGEi0vfR8u7Lgsg_20_14">407</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="font-size:8.5pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" scale="3" id="Tc_xX2AahMmTE2nHylF7YmSQA_20_22">407</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;width:26.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">Change in fair value of derivatives, net of taxes</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.88%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.28%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.65%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="font-size:8.5pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_RUyaer8lGE6_VcQ9LicmRQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" scale="3" id="Tc_l5EmoCV-fkatnqrnq2nRLA_21_14">406</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.35%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.88%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.78%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.77%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="font-size:8.5pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" scale="3" id="Tc_LnZszzMTnESac2ngBFGKwA_21_22">406</ix:nonFraction></span></p></td></tr><tr><td style="vertical-align:bottom;width:26.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-size:8.5pt;font-weight:bold;">December 31, 2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">&#160;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="font-size:8.5pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw" contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_4NLZO_zTMEK5b6ECGUYIBA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SharesOutstanding" scale="3" id="Tc_nPqqc3MJJ0Crpqcr7lstWw_22_2">31,937</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.88%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="font-size:8.5pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_4NLZO_zTMEK5b6ECGUYIBA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_lLP1daGQ4USZcgGG3qLUJg_22_5">320</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.15%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="font-size:8.5pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_01xSO6MKUEWeyN3RC-tO2g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_gg5safBJg0ShiYl15dF0RQ_22_8">43,152</ix:nonFraction></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.99%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_njClAqiM4Eeb0hjXjSlViw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" sign="-" scale="3" id="Tc_Mj8hKJBJz0-bWF4msa5Plg_22_11">9,683</ix:nonFraction>)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.65%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_pzr1FtTpQEeyVTKJemj5Wg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" sign="-" scale="3" id="Tc_X7SGqmFUBkubVzzKQAXcBA_22_14">1,621</ix:nonFraction>)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.35%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw" contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_S7Xu-iAocEyNWI82JzTqfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockCommonShares" sign="-" scale="3" id="Tc_OcFLnNM1n0uNedMM5iFCig_22_16">3,184</ix:nonFraction>)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.88%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_S7Xu-iAocEyNWI82JzTqfA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" sign="-" scale="3" id="Tc_LUc3TT8Uzkayo7Hlt61GDQ_22_19">6,465</ix:nonFraction>)</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.78%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8.5pt;">$</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="font-size:8.5pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_rCiMte5SrEugGe3j-V8rqw_22_22">25,703</ix:nonFraction></span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;text-indent:36pt;margin:0pt;">See notes to consolidated financial statements.</p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-6</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 30pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_82a09543_57f2_420c_9cb4_0749a2238e4c"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">INNODATA&#160;INC. AND SUBSIDIARIES</p><a id="CONSOLIDATEDSTATEMENTSOFCASHFLOWS_654384"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">CONSOLIDATED STATEMENTS OF CASH FLOWS</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">YEARS ENDED DECEMBER 31, 2023 AND 2022</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;text-indent:0pt;margin:0pt;"><b style="font-weight:bold;">(In thousands)</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-weight:bold;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><a id="_5b83ec4d_4cc0_4ab0_96e5_a76519025472"></a><a id="Tc_Qx28WPEGJE660kjFnM0IlA_2_2"></a><a id="Tc_iKpm7Btn0UmAdDYQ5siRWQ_2_5"></a><a id="Tc_OAFSvsFphkuRSQUhObz3ng_3_0"></a><a id="Tc_Ne9l7JhqSEa0CCPzBGDquQ_4_0"></a><a id="Tc_yzGhslIzaEGAZ4IP4I2HVw_4_2"></a><a id="Tc_mkkwTlLlPUeCmQTYLESZOw_4_5"></a><a id="Tc_ZNuTxYqVl02T1wKRlp0_ww_5_0"></a><a id="Tc_genzLT3mPEqB4rhkkKI0MQ_6_0"></a><a id="Tc_X6gA_rL98U2nhlppwAydRg_7_0"></a><a id="Tc_MAhi4pKJlEu6wT9_0p9ZYQ_8_0"></a><a id="Tc_dDB70KubO0ChY3tsTHDEjQ_9_0"></a><a id="Tc_Tho0q_6-hkeT4CPNXQykdQ_10_0"></a><a id="Tc_FWuxuHeb_E-Qow74JRUtJg_11_0"></a><a id="Tc_fydAl40x6UCe1zSbUdIo8Q_12_0"></a><a id="Tc_6TsIg8TKekOW1rfPoF7GBg_12_3"></a><a id="Tc_OA6ttuqBbk6pbkojaU3Sgw_13_0"></a><a id="Tc_iWiFMgZCYEulMzgqaGMw_g_14_0"></a><a id="Tc_A-79CuQIK0CiNBox7SR0iQ_15_0"></a><a id="Tc_sqH_8KqCJEKwuy7zgTiyGw_16_0"></a><a id="Tc_laS3dkv8OU2hHBJJSKdn5g_17_0"></a><a id="Tc_UJcH_YhapkyVp0C20Mx0hA_18_0"></a><a id="Tc_Oj-14GgZ3Ue8xicE9rPjTw_19_0"></a><a id="Tc_uD3ZxKTgP0ujgvbDmCwObg_20_0"></a><a id="Tc_WbDfbMIvK0CiSjap_o0z2Q_21_0"></a><a id="Tc_P79ScIetrUKHiDmGfVkT_A_22_0"></a><a id="Tc_rYPffkMpP0OONtR77ThLag_23_0"></a><a id="Tc_GCgs18AdUkynbtVFEZOn1Q_24_0"></a><a id="Tc_hg9lxCXqGE6pNklY-OOiIA_25_0"></a><a id="Tc_hKgwFB8DwEyWmfuqBrRxOg_26_0"></a><a id="Tc_sdJJdfpmN0Kq9UbcZjsn6g_27_0"></a><a id="Tc_j3aJGpJVoEmLVZSoNOhK7A_28_0"></a><a id="Tc_aDxsvdE590GB1EURX67EWA_29_0"></a><a id="Tc_cQxLPgk9GEGkglfGHINtXQ_30_0"></a><a id="Tc_Zlk9LHTcOU6SCzPhvlZm3A_31_0"></a><a id="Tc_HbQxI8RizkKJ6tjUuZnzNA_32_0"></a><a id="Tc_FOpQD6F6nUSccx3Bz6dkWg_32_2"></a><a id="Tc_kkI9Ld_wl0muKXazoPyXrA_32_5"></a><a id="Tc_q8sPb9wkyUSDIkY5WyvixA_33_0"></a><a id="Tc_qjEFalDV9UWHvkKdNpBQ_w_34_0"></a><a id="Tc_egdK0grFvk-_XrNh1iO58g_34_2"></a><a id="Tc_eMq8BIE_okKfr-OA85Khdg_34_5"></a><a id="Tc_wYe6v964C0-vG77zrnbNbA_34_6"></a><a id="Tc_f5jAbQVkeUi8UsNYCMebJA_35_0"></a><a id="Tc_PBamtPfUkEWQJh7hl5jWVA_35_2"></a><a id="Tc_Bi0MDLCo_06vthDwcp167A_35_5"></a><a id="Tc_p-xb7noaqUmsG3LAoeiReg_36_0"></a><a id="Tc__OxIy7jMJkSvlONNVP-5Ew_36_2"></a><a id="Tc_rwHcmghotEaCuIsVp2bJ1Q_36_5"></a><a id="Tc_HSyk92ZuBUmF7viQM0_YIA_37_0"></a><a id="Tc_r7AZNwTnA0KIKKQfE0xyUQ_37_2"></a><a id="Tc_R-D0vync5k6XShO7bfHGBQ_37_5"></a><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Cash flows from operating activities:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Consolidated net loss</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" sign="-" scale="3" id="Tc_ELHt60kFtEWqQkju6si6aQ_4_3">889</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProfitLoss" sign="-" scale="3" id="Tc_2hM3edthp02kzhSI0qDXcA_4_6">12,005</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Adjustments to reconcile consolidated net loss to net cash</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">provided by operating activities: </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Depreciation and amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DepreciationDepletionAndAmortization" scale="3" id="Tc_pDWSyQj1NUa4ohE4wiJsvQ_7_3">4,716</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DepreciationDepletionAndAmortization" scale="3" id="Tc_7x_BsVcqbEalKFVCg3vn6w_7_6">3,889</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Stock-based compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensation" scale="3" id="Tc_yartHfVaUE2vGnK0fOozzg_8_3">4,027</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensation" scale="3" id="Tc_MLLNmFNNtEuNOi1F8VqPKA_8_6">3,283</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Deferred income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxesAndTaxCredits" sign="-" scale="3" id="Tc_knw-2o5ZfUmPCHNbzGwmlw_9_3">276</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxesAndTaxCredits" scale="3" id="Tc_g0swgLTVZEWlUdxg_8Aqng_9_6">217</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Provision for doubtful accounts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProvisionForLoanLossesExpensed" scale="3" id="Tc_kFzx-z-n3EyMv2s3liCOTg_10_3">426</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProvisionForLoanLossesExpensed" scale="3" id="Tc_0L01cFtTa0S_rRi0rGwdIA_10_6">480</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Pension cost</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DefinedContributionPlanIncreaseDecreaseCost" scale="3" id="Tc_sIlVe7kgE0Oud3fIeA9oHA_11_3">1,046</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DefinedContributionPlanIncreaseDecreaseCost" scale="3" id="Tc_MVqwvc-CFUii4_tTtt78QA_11_6">943</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Loss on lease termination</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GainLossOnTerminationOfLease" sign="-" scale="3" id="Tc_QkouQk7Y3UiHVXAsomAWQA_12_6">125</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Changes in operating assets and liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Accounts receivable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInAccountsReceivable" scale="3" id="Tc_g5bnyQy9302EwMl55l1L1g_14_3">5,116</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInAccountsReceivable" sign="-" scale="3" id="Tc_z3gi6v6ZDki0bDtJT13FXw_14_6">1,303</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Prepaid expenses and other current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" sign="-" scale="3" id="Tc_pPk01V3YQUaYEbO9qkaacg_15_3">372</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" scale="3" id="Tc_JWG0-Rlz90yqDeJRAHVimw_15_6">226</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Other assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherOperatingAssets" scale="3" id="Tc_gpa3d79PQEGXL_EaiAVuZw_16_3">171</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInOtherOperatingAssets" sign="-" scale="3" id="Tc_6TdGG9vbuEe12oyT5OhmiA_16_6">750</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Accounts payable, accrued expenses and other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" sign="-" scale="3" id="Tc_1JwEwZKCAEeY9lf6EFSW9g_17_3">490</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" scale="3" id="Tc_dT3LJwM_xE6jSmeFaArHUA_17_6">322</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Accrued salaries, wages and related benefits</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities" scale="3" id="Tc_OS8z9Iz-HEWwkqOtltBqSw_18_3">1,653</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities" sign="-" scale="3" id="Tc_KNzhCb3IkEOxS-T08iWqiw_18_6">310</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Income and other taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInAccruedTaxesPayable" scale="3" id="Tc_OkVY7yJA5UCIn_jBjQwziw_19_3">605</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInAccruedTaxesPayable" scale="3" id="Tc__n0ATzyCi0GBdAap3gbpiw_19_6">13</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 18pt;">Net cash provided by (used in) operating activities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" scale="3" id="Tc_hXUQJWsj70mn_4hTMtC47A_20_3">5,903</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" sign="-" scale="3" id="Tc_Z0KUJhY9KkaehLp5acowjg_20_6">1,216</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Cash flows from investing activities:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Capital expenditures</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" scale="3" id="Tc_VyyEH4JBck-jkBnsssYrgw_22_3">5,564</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" scale="3" id="Tc_3eQGKwp8HkWsceHp3GCB9w_22_6">6,526</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Proceeds from (purchase of) short term investments - others </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsForProceedsFromShortTermInvestments" sign="-" scale="3" id="Tc_91ef3cKhokeDo3hRJXuYhg_23_3">493</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsForProceedsFromShortTermInvestments" scale="3" id="Tc_1hLViIkGcEigU3jdVw8ynw_23_6">507</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 18pt;">Net cash used in investing activities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" sign="-" scale="3" id="Tc_KAJwDar0JEWCipOz9gbgUQ_24_3">5,071</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" sign="-" scale="3" id="Tc_xsd_UaH1J0m4WrOZcDFT-A_24_6">7,033</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Cash flows from financing activities:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Proceeds from exercise of stock options </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromStockOptionsExercised" scale="3" id="Tc_3JwPtxjL1EWYyu7P99pawA_26_3">3,324</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromStockOptionsExercised" scale="3" id="Tc_um_jGBjJLESD0AQafUSpeg_26_6">332</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Payment of long-term obligations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RepaymentsOfLongTermDebt" scale="3" id="Tc_WBoSxQpjSEumv3lie_dY-A_27_3">452</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RepaymentsOfLongTermDebt" scale="3" id="Tc_OqZ0AvQfM0W1WAaTvXGP1Q_27_6">639</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 18pt;">Net cash provided by (used in) financing activities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" scale="3" id="Tc_QJNGiXzooUOt05ttyhk4vA_28_3">2,872</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" sign="-" scale="3" id="Tc_JCawGjzmgUC05Oxmv-wMVw_28_6">307</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Effect of exchange rate changes on cash and cash equivalents</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_YCGb7Fw0Nk24vnUc6Qr5Ag_29_3">310</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" sign="-" scale="3" id="Tc_DlH6dvwnVUqpGCI3e6JBuQ_29_6">554</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Net increase (decrease) in cash and cash equivalents</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" scale="3" id="Tc_IMVW62A7y0KuJqoMwVLnxA_30_3">4,014</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" sign="-" scale="3" id="Tc_b8KPU_fiD0izzdaiU31H5Q_30_6">9,110</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Cash and cash equivalents, beginning of year</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_ajO3oYUFREykIuJzq1sFFg_31_3">9,792</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2021_LPWzI6J5HECBN2kqx3f4aQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_StiTGt1FfEiWVsweWxbB6w_31_6">18,902</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Cash and cash equivalents, end of year</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_e3oCTpD520iCEavlVGbRPQ_32_3">13,806</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="Tc_EFXNRdxnYEO-0er2PVT2eA_32_6">9,792</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Supplemental disclosures of cash flow information:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Vendor financed software licenses acquired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="inod:VendorFinancedSoftwareLicensesAcquired" scale="3" id="Tc_D70fgqRfU0OTN3copQfW1A_34_3">1,162</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Cash paid for income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxesPaid" scale="3" id="Tc_oywirQYf3kOx0a_lcAppGg_35_3">753</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxesPaid" scale="3" id="Tc_PuQxvda4Q0KEHdd9El377w_35_6">1,107</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Cash paid for operating leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeasePayments" scale="3" id="Tc_s-11QIosxU2IQY50PYpg3A_36_3">1,557</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeasePayments" scale="3" id="Tc_NESl1F9ThE2DHnsYWyN_7g_36_6">1,838</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Cash paid for interest</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestPaidNet" scale="3" id="Tc_VTGzeQ6__0u1A6qzN5Hu9g_37_3">400</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestPaidNet" scale="3" id="Tc_CiHOjF5ZY06f1lHXwpXB5A_37_6">19</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">See notes to consolidated financial statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="display:none;font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-7</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 18pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">INNODATA&#160;INC. AND SUBSIDIARIES</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt 0pt 12pt 0pt;">YEARS ENDED DECEMBER 31, 2023 AND 2022</p></div><div style="clear:both;max-width:100%;position:relative;"><a id="a1DescriptionofBusinessandSummaryofSigni"></a><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock" id="Tb_jWI6yBtdTUeI4qn07aOHwQ" continuedAt="Tb_jWI6yBtdTUeI4qn07aOHwQ_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">1. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Description of Business and Summary of Significant Accounting Estimates and Policies </p><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="us-gaap:BusinessCombinationsPolicy" id="Tb_q76COYtk2U2JD6EeS8XRvw" continuedAt="Tb_q76COYtk2U2JD6EeS8XRvw_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Description of Business</b> - Innodata Inc. (NASDAQ: INOD) (including its subsidiaries, the &#8220;Company&#8221;, &#8220;Innodata&#8221;, &#8220;we&#8221;, &#8220;us&#8221; or &#8220;our&#8221;) is a leading data engineering company. The Company&#8217;s mission is to help the world&#8217;s most prestigious companies deliver the promise of ethical, high-performing artificial intelligence (&#8220;AI&#8221;), which the Company believes will contribute to a safer and more prosperous world.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company was founded on a simple idea: engineer the highest quality data so organizations across broad industry segments could make smarter decisions. Today, the Company believes it is delivering the highest quality data for some of the world&#8217;s most innovative technology companies to use to train the AI models of the future.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">AI holds the promise that computers can perceive and understand the world, enabling products and services that would have been previously unimaginable and impossible with traditional coding. AI learns from data, and the highest-performing AI will have learned from the highest-quality data. The Company believes that it can contribute meaningfully by harnessing its capabilities, honed over 30 years, in collecting and annotating data at scale with consistency and high accuracy.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company is also helping companies deploy and integrate AI into their operations and products and providing innovative AI-enabled industry platforms, helping ensure that its customers&#8217; businesses are prepared for a world in which machines augment human activity in ways previously unimaginable. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company developed its capabilities and honed its approaches progressively over the last 30 years creating high-quality data for many of the world&#8217;s most demanding information companies. Approximately eight years ago, the Company formed Innodata Labs, a research and development center, to research, develop and apply machine learning and emerging AI to its large-scale, human-intensive data operations. In 2019, the Company began packaging the capabilities that emerged from its R&amp;D efforts in order to align with several fast-growing new markets and help companies use AI/ML to drive performance benefits and business insights.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company&#8217;s historical core competency in high-quality data, combined with these R&amp;D efforts in applied AI, created the foundation for the evolution of the Company&#8217;s offerings, which include AI Data Preparation, AI Model Deployment and Integration, and AI-Enabled Industry Platforms.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">AI Data Preparation</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">For several of the world&#8217;s large technology companies, the Company supports their efforts at building generative AI foundation models. For these companies, the Company provides or is poised to provide a range of scaled data solutions and services. The Company&#8217;s scaled data solutions include providing instruction data sets for fine-tuning LLMs to understand prompts, to accept instruction, to converse, to apparently reason, and to perform the myriad of incredible feats that many of us have now experienced. The Company also provides reinforcement learning and reward modeling, services which are critical to provide the guardrails against toxic, bias and harmful responses, and model evaluation services. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">For social media companies, robotics companies, financial services companies, and many others, the Company collects or creates training data, annotates training data, and trains AI algorithms for working with images, text, video, audio, code and sensor data. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company utilizes a variety of leading third-party tools, proprietary tools and customer tools. For text annotation, the Company uses its proprietary data annotation platform that incorporates AI to reduce cost while improving consistency and quality of output. The Company&#8217;s proprietary data annotation platform features auto-tagging capabilities that apply to both classical and generative AI tasks. The platform encapsulates many of the innovations the Company has conceived of in the course of its 30-year history of creating high-quality data.</p></ix:nonNumeric></ix:nonNumeric></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-8</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 18pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">INNODATA&#160;INC. AND SUBSIDIARIES</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt 0pt 12pt 0pt;">YEARS ENDED DECEMBER 31, 2023 AND 2022</p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_jWI6yBtdTUeI4qn07aOHwQ_cont1" continuedAt="Tb_jWI6yBtdTUeI4qn07aOHwQ_cont2"><ix:continuation id="Tb_q76COYtk2U2JD6EeS8XRvw_cont1"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">In addition, because collecting real-world data is often impracticable (due to data privacy regulations or rarity of cohorts and outliers), the Company creates high-quality synthetic data that maintains all of the statistical properties of real-world data, using a combination of domain specialists and machine technologies that leverage large language models (LLMs).</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">AI Model Deployment and Integration</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company helps businesses leverage the latest AI technologies to achieve their goals. The Company develops custom AI models (where it selects the appropriate algorithms, tunes hyperparameters, trains and validates the models, and updates the models as required). The Company also helps businesses fine-tune their own custom versions of the Company&#8217;s proprietary models and third-party foundation models to address domain-specific and customer-specific use cases.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">For the Company&#8217;s customers that provide products and solutions that require intensive text data processing and analytics, in addition to deploying and integrating AI models, the Company often provides a range of data engineering support services including data transformation, data curation, data hygiene, data consolidation, data extraction, data compliance, and master data management.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company&#8217;s customers span a diverse range of industries and a wide range of AI use cases, benefiting from the short time-to-value and high economic returns of the Company&#8217;s AI solutions and platforms.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">AI-Enabled Industry Platforms</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company&#8217;s AI-enabled industry platforms address specific, niche market requirements the Company believes it can innovate with AI/ML technologies. The Company deploys these industry platforms as software-as-a-service (SaaS) and as managed services. These platforms benefit from the Company&#8217;s technology infrastructure, its industry-specific knowledge, its strong customer relationships and experience merging technology with the business processes of its customers. To date, the Company has built an industry platform for medical records data extraction and transformation (which the Company brands as &#8220;Synodex<sup style="font-size:8.25pt;line-height:100%;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;top:0pt;vertical-align:top;">&#174;</sup>&#8221;) and an industry platform for public relations (which the Company brands as &#8220;Agility PR Solutions&#8221;). The Company is in development with an additional AI-enabled industry platform to serve financial services institutions.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company&#8217;s Synodex industry platform transforms medical records into useable digital data organized in accordance with its proprietary data models or customer data models. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company&#8217;s Agility industry platform provides marketing communications and public relations professionals with the ability to target and distribute content to journalists and social media influencers world-wide and to monitor and analyze global news (print, web, radio and TV) and social media.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company&#8217;s operations are presently classified and reported in <ix:nonFraction unitRef="Unit_Standard_segment_ZgNiCSukjkyW3Oz99w8UqQ" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:NumberOfReportableSegments" scale="0" id="Narr_dnv5kG_79UyPB_BgU88QFA">three</ix:nonFraction> reporting segments: Digital Data Solutions (DDS), Synodex and Agility.</p></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><span style="font-style:italic;font-weight:bold;">Critical Accounting Policies and Estimates</span></p><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="us-gaap:ConsolidationPolicyTextBlock" id="Tb_Hyuwjh1ND0yCm3G9_vxxdw" continuedAt="Tb_Hyuwjh1ND0yCm3G9_vxxdw_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Principles of Consolidation </b>-<b style="font-weight:bold;"> </b>The consolidated financial statements include the accounts of Innodata Inc. and its wholly owned subsidiaries, and docGenix, a limited liability company that is majority-owned by the Company. The non-controlling interests in the docGenix limited liability company have call and put options that can be settled in cash or stock. Accordingly, this is presented in temporary equity in accordance with Financial Accounting Standards Board (FASB) non-controlling interest guidance. All intercompany transactions and balances have been eliminated in consolidation.</p></ix:nonNumeric></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-9</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 18pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">INNODATA&#160;INC. AND SUBSIDIARIES</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt 0pt 12pt 0pt;">YEARS ENDED DECEMBER 31, 2023 AND 2022</p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_jWI6yBtdTUeI4qn07aOHwQ_cont2" continuedAt="Tb_jWI6yBtdTUeI4qn07aOHwQ_cont3"><ix:continuation id="Tb_Hyuwjh1ND0yCm3G9_vxxdw_cont1"></ix:continuation><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="us-gaap:UseOfEstimates" id="Tb_a3MZh9zW_UOX_VG4Lz6d0Q" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Use of Estimates&#160;</b>- In preparing consolidated financial statements in conformity with U.S. GAAP, management is required to make estimates and assumptions that affect the reported amounts of assets and liabilities, the disclosure of contingent assets and liabilities as of the date of the consolidated financial statements, and the reported amounts of revenues and expenses during the reporting period. Management believes that the estimates used in the preparation of the consolidated financial statements are reasonable. Actual results could differ from those estimates. Significant estimates include those related to the allowance for doubtful accounts and billing adjustments, useful life of long-lived assets, useful life of intangible assets, impairment of goodwill and intangible assets, valuation of deferred tax assets, valuation of stock-based compensation, pension benefit plan assumptions, litigation accruals and estimated accruals for various tax exposures.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="us-gaap:RevenueRecognitionPolicyTextBlock" id="Tb__T-Mkbk1xUW2AbVi7SY8sw" continuedAt="Tb__T-Mkbk1xUW2AbVi7SY8sw_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Revenue Recognition&#160;</b>- The Company&#8217;s revenue is recognized when services are rendered or goods are delivered to a customer, in an amount that reflects the consideration that the Company expects to receive in exchange for those services or goods as per the agreement with the customer. In cases where there are agreements with multiple performance obligations, the Company identifies each performance obligation and evaluates whether the performance obligations are distinct within the context of the agreement at the agreement&#8217;s inception. Performance obligations that are not distinct at agreement inception are combined. For agreements with distinct performance obligations, the Company allocates the transaction price to each distinct performance obligation proportionately based on the estimated standalone selling price for each performance obligation, if any, and then evaluates how the services are performed for the customer to determine the timing of revenue recognition.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">For the Digital Data Solutions (DDS) segment, revenue is recognized primarily based on the quantity delivered or resources utilized in the period in which services are performed and performance conditions are satisfied as per the agreement. Revenue from agreements billed on a time-and-materials basis is recognized as services are performed. Revenue from fixed-fee agreements, which is not significant to overall revenues, is recognized based on the proportional performance method of accounting, as services are performed, or milestones are achieved.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">For the Synodex segment, revenue is recognized primarily based on the quantity delivered in the period in which services are performed and performance conditions are satisfied as per the agreement. A portion of the Synodex segment revenue is derived from licensing the Company&#8217;s functional software and providing access to the Company&#8217;s hosted software platform. Revenue from such services is recognized monthly when all parties to the agreement have agreed to the agreement; each party&#8217;s rights are identifiable; the payment terms are identifiable; the agreement has commercial substance; access to the service is provided to the end user; and collection is probable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Agility segment derives its revenue primarily from subscription arrangements and provision of enriched media analysis services. It also derives revenue as a reseller of corporate communication solutions. Revenue from subscriptions is recognized monthly when access to the service is provided to the end user; all parties to the agreement have agreed to the agreement; each party&#8217;s rights are identifiable; the payment terms are identifiable; the agreement has commercial substance; and collection is probable. Revenue from enriched media analysis services is recognized when the services are performed, and performance conditions are satisfied. Revenue from the reseller agreements is recognized at the gross amount received for the goods in accordance with the Company functioning as a principal due to the Company meeting the following criteria: the Company acts as the primary obligor in the sales transaction; assumes the credit risk; sets the price; can select suppliers; and is involved in the execution of the services, including after sales service.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Revenue includes reimbursement of out-of-pocket expenses, with the corresponding out-of-pocket expenses included in direct operating costs.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Revenue associated with the services provided in one period and billed in a subsequent period is commonly referred to as unbilled revenues and is included under Accounts receivable.</p></ix:nonNumeric></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-10</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 18pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">INNODATA&#160;INC. AND SUBSIDIARIES</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt 0pt 12pt 0pt;">YEARS ENDED DECEMBER 31, 2023 AND 2022</p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_jWI6yBtdTUeI4qn07aOHwQ_cont3" continuedAt="Tb_jWI6yBtdTUeI4qn07aOHwQ_cont4"><ix:continuation id="Tb__T-Mkbk1xUW2AbVi7SY8sw_cont1"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company considers U.S. GAAP criteria for determining whether to report gross revenue as a principal versus net revenue as an agent. The Company evaluates whether it is in control of the services before the same are transferred to the customer to assess whether it is principal or agent in the arrangement.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Contract acquisition costs, which are included in prepaid expenses and other current assets, are amortized over the term of a subscription agreement or contract that normally has a duration of <ix:nonNumeric contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" format="ixt-sec:durwordsen" name="us-gaap:CapitalizedContractCostAmortizationPeriod" id="Narr_n_9G0_EoEkyst_7MeUE2aw">12 months</ix:nonNumeric> or less. The Company reviews these prepaid acquisition costs on a periodic basis to determine the need to adjust the carrying values for early terminated contracts. Included in prepaid expenses and other current assets on the accompanying consolidated balance sheets are contract acquisition costs amounting to $<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" scale="6" id="Narr_FABMKZqqX0-xg1mzta4svQ"><ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" scale="6" id="Narr_jlDuECnkLUCh7nSmhRpoYg">0.8</ix:nonFraction></ix:nonFraction> million for each of the years ended December 31, 2023 and 2022. These acquisition costs relate to our Agility segment and are amortized over the term of the subscription agreement which normally has a duration of <ix:nonNumeric contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" format="ixt-sec:durwordsen" name="us-gaap:CapitalizedContractCostAmortizationPeriod" id="Narr_Se204Sk5hEOb5mJz2hcfXQ">12 months</ix:nonNumeric> or less.</p></ix:continuation><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" id="Tb_x2yG6kWKLUuh81ySJtkQeg" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Foreign Currency Translation&#160;</b>- The functional currency of the Company&#8217;s subsidiaries in the Philippines, India, Sri Lanka, Israel, Hong Kong, the United Kingdom and Canada (other than the Agility subsidiaries) is the U.S. dollar. Transactions denominated in Philippine pesos, Indian and Sri Lankan rupees, Israeli shekels, United Kingdom pound sterling and Canadian dollars are translated to U.S. dollars at rates which approximate those in effect on the transaction dates. Monetary assets and all liabilities denominated in foreign currencies on December 31, 2023 and December 31, 2022 are translated at the exchange rate in effect as of those dates. Non-monetary assets and stockholders&#8217; equity are translated at the appropriate historical rates. Included in direct operating costs were foreign exchange losses (gains) resulting from such translations of approximately $<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:ForeignCurrencyTransactionGainLossBeforeTax" sign="-" scale="6" id="Narr_HCYBHd4TrUOJhvvx3sgIxQ">0.4</ix:nonFraction> million and ($<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:ForeignCurrencyTransactionGainLossBeforeTax" scale="6" id="Narr_DrlUKEatdEOqmtZdxjWWkA">1.3</ix:nonFraction>) million for the&#160;years ended December 31, 2023 and 2022, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The functional currency for the Company&#8217;s subsidiary in Germany is the Euro. The functional currencies for the Company&#8217;s Agility subsidiaries in the United Kingdom and Canada are the Pound Sterling and the Canadian dollar, respectively. The financial statements of these subsidiaries are prepared in their respective currencies. Financial information is translated from the applicable functional currency to the U.S. dollar (the reporting currency) for inclusion in the Company&#8217;s consolidated financial statements. Income, expenses, and cash flows are translated at weighted-average exchange rates prevailing during the fiscal period, and assets and liabilities are translated at fiscal period-end exchange rates. Resulting translation adjustments are included as a component of accumulated other comprehensive loss in stockholders&#8217; equity. Foreign exchange transaction gains or losses are included in direct operating costs in the accompanying consolidated statements of operations and comprehensive loss.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="us-gaap:DerivativesPolicyTextBlock" id="Tb_SgnvlNetrU6LBhjsp-UTNA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;min-height:12.0pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Derivative Instruments&#160;- </b>The Company accounts for derivative transactions in accordance with the FASB&#8217;s Accounting Standards Codification (&#8220;ASC&#8221;) Topic 825, &#8220;Financial Instruments&#8221;. For derivative instruments that are designated and qualify as cash flow hedges, the entire change in fair value of the hedging instrument is recorded in Other comprehensive income (loss). When the amounts recorded in Other comprehensive income (loss) are reclassified to earnings, they are included as part of Direct operating costs. For derivative instruments that are not designated as hedges, any change in fair value is recorded directly in earnings as part of Direct operating costs. The total notional value of designated outstanding foreign currency forward contracts was $<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:ForeignCurrencyContractAssetFairValueDisclosure" scale="6" id="Narr_TbbyhwAfUUuCEBCWEa7g6w">10.5</ix:nonFraction> million and $<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:ForeignCurrencyContractAssetFairValueDisclosure" scale="6" id="Narr_x_XyTJI46U2Fqw-On8rn-g">14.2</ix:nonFraction> million as of December 31, 2023 and 2022, respectively.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="us-gaap:CashAndCashEquivalentsPolicyTextBlock" id="Tb_3Hb6945jTECwbuOwbDBifw" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Cash Equivalents&#160;- </b>For financial statement purposes, the Company considers all highly liquid instruments purchased with an original maturity of three&#160;months or less to be cash equivalents.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="us-gaap:InvestmentPolicyTextBlock" id="Tb_55XfeAd_ZEKc8W-O4-PYKA" continuedAt="Tb_55XfeAd_ZEKc8W-O4-PYKA_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Short term Investments-other&#160;- </b>For financial statement purposes, the Company considers investments made in time deposits and treasury bills having an original maturity of more than three months but less than one year from the balance sheet date under short term investments.</p></ix:nonNumeric></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-11</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 18pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">INNODATA&#160;INC. AND SUBSIDIARIES</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt 0pt 12pt 0pt;">YEARS ENDED DECEMBER 31, 2023 AND 2022</p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_jWI6yBtdTUeI4qn07aOHwQ_cont4" continuedAt="Tb_jWI6yBtdTUeI4qn07aOHwQ_cont5"><ix:continuation id="Tb_55XfeAd_ZEKc8W-O4-PYKA_cont1"></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="us-gaap:ConcentrationRiskCreditRisk" id="Tb_kRsYsQDNwk2kum8AANC6Jw" escape="true"><b style="font-weight:bold;">Concentration of Credit Risk&#160;-</b> The Company maintains its cash with highly rated financial institutions, located in the United States and in foreign locations where the Company has its operations. At December 31, 2023, the Company had cash and cash equivalents of $<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="6" id="Narr_6Id9yh3vuUu4PycdNj5jrA">13.8</ix:nonFraction> million, of which $<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_srt_StatementGeographicalAxis_srt_AsiaMember_d4ka6TsD6EKK9ur-xGhFZg" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="6" id="Narr_CaOk3khTI0CbxiCiEcWRxA">6.5</ix:nonFraction> million was held by its foreign subsidiaries and $<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_US_8DT353cHtEa626yJajOM5Q" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="6" id="Narr_H1XJNiU3CECiYO09VEiN5A">7.3</ix:nonFraction> million </ix:nonNumeric>was held in the United States. To the extent that such cash exceeds the maximum insurance levels, the Company is uninsured. The Company has not experienced any losses in such accounts.</p><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="us-gaap:TradeAndOtherAccountsReceivablePolicy" id="Tb_VG_sXRcx4Ua_GvxHRdLwug" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Accounts Receivable&#160;-</b> Accounts receivable is generally recorded at the invoiced amounts, net of an allowance for expected losses. The Company establishes credit terms for new customers based upon management&#8217;s review of their credit information and project terms, and performs ongoing credit evaluations of its customers, adjusting credit terms when management believes appropriate based upon payment history and an assessment of the customer&#8217;s current creditworthiness.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We record an allowance for credit losses for estimated losses resulting from the failure of our customers to make the required payments and provisions for billing adjustments relating to quality issues on delivered services. The allowance for credit losses is based on a review of specifically identified accounts and an overall aging analysis applied to accounts pooled based on similar risk characteristics. Judgments are made with respect to the collectability of accounts receivable within each pool based on historical experience, current payment practices, and current economic trends based on our expectations over the expected life of the receivables, generally ninety days or less. Actual credit losses could differ from those estimates.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="us-gaap:PropertyPlantAndEquipmentPolicyTextBlock" id="Tb_4BB_2nHbGEOlR_0iBOMlkA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Property and Equipment</b>&#160;<b style="font-weight:bold;">- </b>Property and equipment are stated at cost and are depreciated on the straight-line method over the estimated useful lives of the related assets, which is generally <span style="-sec-ix-hidden:Hidden_yGJN2FqFVEawQJWZoFoh0w;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">two</span></span> to <span style="-sec-ix-hidden:Hidden_qOPG7XoMf06lp7FpqgoXEQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">ten&#160;years</span></span>. Leasehold improvements are amortized on a straight-line basis over the shorter of their estimated useful lives or the terms of the leases. Certain assets under capital leases are amortized over the lives of the respective leases or the estimated useful lives of the assets, whichever is shorter.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="us-gaap:ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock" id="Tb_WSL7J1NId02suwfbwBpZzw" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Capitalized Developed Software - </b>The Company incurs development costs related to software it develops for its internal use. Qualifying costs incurred during the application development stage are capitalized. These costs primarily consist of internal labor and third-party development costs and are amortized using the straight-line method over the estimated useful life of the capitalized developed software, which generally ranges from <span style="-sec-ix-hidden:Hidden_JLLJiYyuKkqFRS0YKxa3_A;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">three</span></span> to <ix:nonNumeric contextRef="As_Of_12_31_2023_srt_RangeAxis_srt_MaximumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_SoftwareDevelopmentMember_UurneqD0Bk2FpWMKYsPoRg" format="ixt-sec:durwordsen" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="Narr_oOd6UYI20kK02bGIC3vKSA">ten years</ix:nonNumeric>. All other research and maintenance costs are expensed as incurred. Capitalized developed software in progress as of December 31, 2023 and 2022 were $<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_InProcessResearchAndDevelopmentMember_TwbDqKD0eEyEA6rPyTwn0Q" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" scale="6" id="Narr_seyZisH9n0WprXmwH0qdKQ">3.5</ix:nonFraction> million and $<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_InProcessResearchAndDevelopmentMember_md_cXI5wp06jm59RmeLnXg" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" scale="6" id="Narr_W4w1mZF-bkaZj9TvPkVqbw">2.8</ix:nonFraction> million, respectively. The cumulative completed capitalized developed software as of December 31, 2023 and 2022 was $<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_SoftwareDevelopmentMember_mht7vH8tKUef5L-G47g2nw" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" scale="6" id="Narr_Aa0McVOmkkmfL9oXAD8CeA">15.2</ix:nonFraction> million and $<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_SoftwareDevelopmentMember_il3Kp-1yYEuSazF6g0FVOQ" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" scale="6" id="Narr_zBy6xMiJ20SaHEEFXqPGDA">11.8</ix:nonFraction> million, respectively.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" id="Tb_sWvdUa2PvUKQHsj17tegUg" continuedAt="Tb_sWvdUa2PvUKQHsj17tegUg_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Long-lived Assets&#160;-</b> Management assesses the recoverability of its long-lived assets, whenever events or changes in circumstances indicate that the carrying value may not be recoverable. The following factors, if present, may trigger an impairment&#160;review: (i)&#160;significant&#160;underperformance relative to expected historical or projected future operating results; (ii)&#160;significant negative industry&#160;or&#160;economic&#160;trends; (iii)&#160;significant decline in the Company&#8217;s stock price&#160;for&#160;a&#160;sustained&#160;period;&#160;and&#160;(iv)&#160;a&#160;change&#160;in the Company&#8217;s market capitalization relative to net book value. If the recoverability of these assets is unlikely because&#160;of&#160;the&#160;existence&#160;of one or more of the above-mentioned factors, an&#160;impairment analysis is performed, using undiscounted cash flow&#160;projections. Management makes assumptions regarding estimated future cash flows and other factors to determine the fair value of these respective assets. An impairment loss will be recognized only if the carrying value of a long-lived asset is not recoverable and exceeds its fair value and is measured as the amount by which the carrying amount of a long-lived asset exceeds its fair value.</p></ix:nonNumeric></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-12</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 18pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">INNODATA&#160;INC. AND SUBSIDIARIES</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt 0pt 12pt 0pt;">YEARS ENDED DECEMBER 31, 2023 AND 2022</p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_jWI6yBtdTUeI4qn07aOHwQ_cont5" continuedAt="Tb_jWI6yBtdTUeI4qn07aOHwQ_cont6"><ix:continuation id="Tb_sWvdUa2PvUKQHsj17tegUg_cont1"></ix:continuation><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock" id="Tb_9GPFJLBaSEe-92q8XPRDIg" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Goodwill and Other Intangible Assets</b>&#160;<b style="font-weight:bold;">- </b>The Company performs a valuation of assets acquired and liabilities assumed on each acquisition accounted for as a business combination and allocates the purchase price of each acquired business to its respective net tangible and intangible assets and liabilities. Acquired intangible assets principally consist of technology, customer relationships, backlog and trademarks, having useful lives which range from <span style="-sec-ix-hidden:Hidden_qjmnNajey0O1TLxVoiF3kA;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">ten</span></span> to <ix:nonNumeric contextRef="As_Of_12_31_2023_srt_RangeAxis_srt_MaximumMember_PIfZGM-P3EK34TOf7oCTgw" format="ixt-sec:durwordsen" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" id="Narr_7uduMZUZcEGKaz0HND7g-g">twelve years</ix:nonNumeric>. The Company determines the appropriate useful life by performing an analysis of expected cash flows based on projected financial information of the acquired businesses. Intangible assets are amortized over their estimated useful lives using the straight-line method, which approximates the pattern in which the majority of the economic benefits are expected to be consumed. Intangible assets are amortized into direct operating costs ratably over their expected related revenue streams over their useful lives.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Goodwill represents the excess of the cost of an acquired entity over the fair value of the acquired net assets. The Company does not amortize goodwill but evaluates it for impairment at the reporting unit level annually during the third quarter of each fiscal&#160;year (as of September&#160;30 of that year) or when an event occurs, or circumstances change, that indicates the carrying value may not be recoverable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company performed its annual goodwill assessment for the Agility segment as of September 30, 2023 for impairment. The impairment test involves estimating the fair value based on a combination of income (estimates of future discounted cash flows) and the market approach (market multiples for similar companies) using unobservable inputs (Level 3). The Company concluded that there is no impairment of goodwill for the Agility segment.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="us-gaap:IncomeTaxPolicyTextBlock" id="Tb_vncaajNfVEm7BYbNw-cukA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Income Taxes&#160;</b>- Estimated deferred taxes are determined based on the difference between the financial statement and tax basis of assets and liabilities, using enacted tax rates, as well as any net operating loss or tax credit carryforwards expected to reduce taxes payable in future&#160;years. A valuation allowance is provided when it is more likely than not that all or some portion of the estimated deferred tax assets will not be realized. While the Company considers future taxable income in assessing the need for the valuation allowance, in the event that the Company anticipates that it will be able to realize the estimated deferred tax assets in the future in excess of its net recorded amount, an adjustment to the provision for deferred tax assets would increase income in the period such determination was made. Similarly, in the event that the Company anticipates that it will not be able to realize the estimated deferred tax assets in the future considering future taxable income, an adjustment to the provision for deferred tax assets would decrease income in the period such determination was made. Changes in the valuation allowance from period to period are included in the Company&#8217;s tax provision in the period of change. The Company indefinitely reinvests the foreign earnings in its foreign subsidiaries. If such earnings are repatriated in the future, or are no longer deemed to be indefinitely reinvested, the Company would have to accrue as a liability the applicable amount of foreign jurisdiction withholding taxes associated with such remittances.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">In assessing the realization of deferred tax assets, management considered whether it is more likely than not that all or some portion of the U.S. and Canadian deferred tax assets will not be realizable. As the expectation of future taxable income resulting from the Synodex and Agility segments cannot be predicted with certainty, the Company maintains a valuation allowance against all the United States, Canadian and European (principally Germany and the United Kingdom) net deferred tax assets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The Company accounts for income taxes regarding uncertain tax positions, and recognizes interest and penalties related to uncertain tax positions in income tax expense in the consolidated statements of operations and comprehensive loss.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="us-gaap:LessorLeasesPolicyTextBlock" id="Tb_BZFCyrqW_kmjXS0iDFcawg" continuedAt="Tb_BZFCyrqW_kmjXS0iDFcawg_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Accounting for Leases&#160;</b>-<b style="font-weight:bold;"> </b>Accounting Standards for Codifications (ASC 842 &#8220;Accounting for Leases&#8221;) requires lessees to recognize most leases on their balance sheets as liabilities, with corresponding &#8220;right-of-use&#8221; assets. The Company recognizes a right-of-use asset and corresponding lease liability for all its operating leases. See Note 9, Operating Leases.</p></ix:nonNumeric></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-13</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 18pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">INNODATA&#160;INC. AND SUBSIDIARIES</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt 0pt 12pt 0pt;">YEARS ENDED DECEMBER 31, 2023 AND 2022</p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_69900eff_f6c5_4273_96ec_7c2a0810f81b"></a><a id="Tc_-OTops4w0kyMdXhpyc5Qhw_1_2"></a><a id="Tc_zjBeZQ_zAkuRIMjU0sP06w_2_2"></a><a id="Tc_tPZgRSfky02hXFAVnPOK2Q_2_5"></a><a id="Tc_2heqCtNbQUaTjw-EPx-ZIg_3_0"></a><a id="Tc_HgdO4B1xsUW7ecucFPZKkg_3_2"></a><a id="Tc_vsFw2DhigEGrPwLJyXY-ag_3_5"></a><a id="Tc_TPsAtvjQr06b3zIGUABEfA_4_0"></a><a id="Tc_Do2p9V83DEaROtvEY_0Ttw_5_0"></a><a id="Tc_6gI8oeVO7k29JJbJvPwOwg_5_2"></a><a id="Tc_jfzdj9HhcESvGtMrv1E4bg_5_5"></a><ix:continuation id="Tb_jWI6yBtdTUeI4qn07aOHwQ_cont6" continuedAt="Tb_jWI6yBtdTUeI4qn07aOHwQ_cont7"><ix:continuation id="Tb_BZFCyrqW_kmjXS0iDFcawg_cont1"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The determination of whether an arrangement is, or contains, a lease is based on the substance of the arrangement at the inception date and requires an assessment of whether the fulfillment of the arrangement is dependent on the use of a specific asset or assets, or the arrangement conveys a right to use the asset. A reassessment is made after inception of the lease only if one of the following applies:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"/><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">a.</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">there is a change in contractual terms, other than a renewal or extension of the arrangement; </span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"/><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">b.</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">a renewal option is exercised, or extension granted, unless the term of the renewal or extension was initially included in the lease term; </span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"/><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">c.</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">there is a change in the determination of whether fulfillment is dependent on a specified asset; or </span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"/><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">d.</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">there is a substantial change to the asset. </span></td></tr></table><div style="margin-top:10pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Whenever a reassessment is made, lease accounting shall commence or cease from the date when the change in circumstances gave rise to the reassessment for scenarios (a), (c) or (d) and at the date of renewal or extension period for scenario (b).</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Leases where the lessor retains substantially all the risks and rewards of ownership are classified as operating leases. As of December 31, 2023, all of the Company&#8217;s leases are classified under operating leases. Operating lease payments are recognized as an operating expense on a straight-line basis over the lease term.</p></ix:continuation><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy" id="Tb_j1zG5MH3okCvrPcwCv3gkw" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Accounting for Stock-Based Compensation&#160;-</b> The Company measures and recognizes stock-based compensation expense for all share-based payment awards made to employees and directors based on the estimated fair value at the grant date. The stock-based compensation expense is recognized over the requisite service period. The fair value of stock option grants is determined using the Black-Scholes option-pricing model and the fair value of restricted stock units is determined using the Binomial option pricing model. For restricted stock units which are time vested, the fair value is determined based on the grant date fair value.</p><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="us-gaap:ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock" id="Tb_Gs7-8q9RvU-CUPIUNZ447Q" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The stock-based compensation expense related to the Company&#8217;s stock plans were allocated as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:50%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:53.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:53.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:42.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year&#160;Ended&#160;December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:53.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:53.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Direct operating costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockOptionPlanExpense" scale="3" id="Tc_EZK5k2887km5B3rDhLCWLg_3_3">294</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockOptionPlanExpense" scale="3" id="Tc_bAaPkIk8T0SJKJSwpKJWmA_3_6">214</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:53.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Selling and administrative expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherSellingGeneralAndAdministrativeExpense" scale="3" id="Tc_cRQhpgC7gUWqmkFBEZQ7kg_4_3">3,733</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherSellingGeneralAndAdministrativeExpense" scale="3" id="Tc_c164gK1jj0SHdkHhfIzl7w_4_6">3,069</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:53.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total stock-based compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensation" scale="3" id="Tc_Ldtb4mX_jkucLZkhhXFP7A_5_3">4,027</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensation" scale="3" id="Tc_jamsKgj0cEK2Xnz6g4apmA_5_6">3,283</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="us-gaap:FairValueOfFinancialInstrumentsPolicy" id="Tb_ZPZ1iUybGkGb6JYvplXrkQ" continuedAt="Tb_ZPZ1iUybGkGb6JYvplXrkQ_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Fair Value of Financial Instruments&#160;</b>- The carrying amounts of financial instruments approximated their fair value as of December 31, 2023 and 2022, because of the relatively short maturity of these instruments. See Note&#160;16, Derivatives.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Fair value measurements and disclosures define fair value as the price that would be received for an asset or paid to transfer a liability (an exit price) in the principal or most advantageous market for the asset or liability in an orderly transaction between market participants on the measurement date.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The accounting standard establishes a fair value hierarchy that prioritizes the inputs used to measure fair value into three levels. The three levels are defined as follows:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"/><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><i style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:italic;font-weight:normal;">Level 1</i><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">: Unadjusted quoted price in active market for identical assets and liabilities.</span></td></tr></table></ix:nonNumeric></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-14</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 18pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">INNODATA&#160;INC. AND SUBSIDIARIES</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt 0pt 12pt 0pt;">YEARS ENDED DECEMBER 31, 2023 AND 2022</p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_013ce712_63e6_44da_b537_efb35c97b222"></a><a id="Tc_9YxQvsKDXkeuPs_ZNvitVg_1_2"></a><a id="Tc_IoHzKji8a0KWacx8EKmUmg_2_2"></a><a id="Tc_Bw_MLXP0E0uGMxGOEI-5fg_2_5"></a><a id="Tc_c5GUqxDjp02uxaSXIZ8yVA_3_0"></a><a id="Tc_2_PRV_XhZ0eNMM-IjAB_RQ_3_2"></a><a id="Tc_zDJPnGqJAkWYH6hzAOgcIA_3_5"></a><a id="Tc_9mP7GjtPeU6ITb05QxLH4w_4_0"></a><a id="Tc_LOxNQcxNo0yJElTQ5QuXng_5_0"></a><a id="Tc_98Ecn39WAEq_9389OUs1Qg_6_0"></a><a id="Tc_jMpOsqN6tUiH10WH6SsWmg_7_0"></a><a id="Tc_QU3i1WRCQEeaf-WSf05qMQ_7_2"></a><a id="Tc_x1i5CgeUu02OiBlNL3sWyw_7_5"></a><ix:continuation id="Tb_jWI6yBtdTUeI4qn07aOHwQ_cont7" continuedAt="Tb_jWI6yBtdTUeI4qn07aOHwQ_cont8"><ix:continuation id="Tb_ZPZ1iUybGkGb6JYvplXrkQ_cont1"><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"/><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><i style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:italic;font-weight:normal;">Level 2:</i><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"> Inputs other than those included in Level 1 that are observable for the asset or liability, either directly or indirectly, such as quoted prices for similar assets or liabilities; quoted prices in markets that are not active; or other inputs that are observable or can be corroborated by observable market data for substantially the full term of the assets or liabilities.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"/><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><i style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:italic;font-weight:normal;">Level 3:</i><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"> Unobservable inputs reflecting management&#8217;s own assumptions about the inputs used in pricing the asset or liability.</span></td></tr></table><div style="margin-top:10pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company&#8217;s forward contracts are at level 2 in the fair value hierarchy.</p></ix:continuation><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="us-gaap:EarningsPerSharePolicyTextBlock" id="Tb_aSWpehwx3kO4VKy9XIFn5g" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Income (Loss) per Share&#160;</b>- Income (loss) per share is computed using the weighted-average number of common shares outstanding during the&#160;year. Diluted income (loss) per share is computed by considering the impact of the potential issuance of common shares, using the treasury stock method, on the weighted average number of shares outstanding. For those securities that are not convertible into a class of common stock, the &#8220;two class&#8221; method of computing income (loss) per share is used.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="us-gaap:PensionAndOtherPostretirementPlansPensionsPolicy" id="Tb_Q2PPCfKbOkSzB3Ua8j2JSw" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Pension&#160;- </b>The Company records annual pension costs based on calculations, which include various actuarial assumptions including discount rates, compensation increases and other assumptions involving demographic factors. The Company reviews its actuarial assumptions on an annual basis and makes modifications to the assumptions based on current rates and trends. The Company believes that the assumptions used in recording its pension obligations are reasonable based on its experience, market conditions and inputs from its actuaries.</p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="us-gaap:RevenueFromContractWithCustomerPolicyTextBlock" id="Tb_wZhEqF2g2U-IbKyNSg9Ilw" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Deferred Revenue&#160;</b>- Deferred revenue represents payments received from customers in advance of providing services and amounts deferred if conditions for revenue recognition have not been met. Included in Accrued expenses and other on the accompanying consolidated balance sheets is deferred revenue amounting to $<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:DeferredRevenue" scale="6" id="Narr_LY9L_nX4zUaKu9P1idpd_w">3.5</ix:nonFraction> million and $<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:DeferredRevenue" scale="6" id="Narr_M_yiybhYz0m5LOBVI7rZNQ">4.4</ix:nonFraction> million as of December 31, 2023 and 2022, respectively. We expect to recognize substantially all of these performance obligations over the next 12 months.</p><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="us-gaap:DeferredRevenueByArrangementDisclosureTextBlock" id="Tb_d2MepqkQ8kuluSh0Odfo_Q" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The table below provides information about contract liabilities (deferred revenue) and the significant changes in the balance for the years ended December 31, 2023 and 2022, respectively (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:75.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:75.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:21.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:75.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;">    </b><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;">    </b><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:75.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance at January 1</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredRevenue" scale="3" id="Tc_hqomhhHao0CSTw-m-TnyRg_3_3">4,366</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2021_LPWzI6J5HECBN2kqx3f4aQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredRevenue" scale="3" id="Tc_sSqvuRPIMkaPD6YD9rBlXw_3_6">4,509</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:75.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net deferred revenue in the period</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredRevenuePeriodIncreaseDecrease" scale="3" id="Tc_hh6h4FUm3kGicMdnFnSaRA_4_3">21,619</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredRevenuePeriodIncreaseDecrease" scale="3" id="Tc_Sc7beX9KnUGrc_8zFOs6mw_4_6">29,756</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:75.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Revenue recognized</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredRevenueRevenueRecognized1" scale="3" id="Tc_aKFhCWnvVkeegwKM351_Rg_5_3">22,586</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredRevenueRevenueRecognized1" scale="3" id="Tc_WEP3OteJHkOG0kTBj5VQUQ_5_6">29,618</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:75.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Currency translations and other adjustments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:TemporaryEquityForeignCurrencyTranslationAdjustments" sign="-" scale="3" id="Tc_pCrx4KGNI0yVFtEJrUCKWg_6_3">124</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:TemporaryEquityForeignCurrencyTranslationAdjustments" scale="3" id="Tc_rJLYmG0WfEGIixEdeBBYlw_6_6">281</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:75.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance at December 31</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredRevenue" scale="3" id="Tc_aWw_G1cUUkmCO_c1mtOJ-w_7_3">3,523</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredRevenue" scale="3" id="Tc_PdixKkZ8SEGcCXoF2KjrUA_7_6">4,366</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock" id="Tb_SPFxHEqmREmQgHevmudziQ" continuedAt="Tb_SPFxHEqmREmQgHevmudziQ_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Recent Accounting Pronouncements&#160;- </b>On November 27, 2023, the FASB issued Accounting Standards Update (ASU) No. 2023-07, &#8220;Improvements to Reportable Segment Disclosures,&#8221;. The ASU&#8217;s effective date is for fiscal years beginning after December 15, 2023. The adoption of the ASU 2023-07 will enhance expense disclosures in segment reporting and other qualitative disclosures and allows for disclosing multiple measures of segment profit or loss. The Company does not expect any significant impact from the adoption of this standard.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">On December 14, 2023, the FASB issued ASU No. 2023-09, &#8220;Income Taxes (Topic 740): Improvements to Income Tax Disclosures&#8221;. The ASU&#8217;s effective date is for fiscal years beginning after December 15, 2024. The adoption of the ASU 2023-09 will enhance quantitative and qualitative disclosures related to rate reconciliation of significant components and income tax paid. The Company does not expect any significant impact from the adoption of this standard.</p></ix:nonNumeric></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-15</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 18pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">INNODATA&#160;INC. AND SUBSIDIARIES</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt 0pt 12pt 0pt;">YEARS ENDED DECEMBER 31, 2023 AND 2022</p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_jWI6yBtdTUeI4qn07aOHwQ_cont8"><ix:continuation id="Tb_SPFxHEqmREmQgHevmudziQ_cont1"></ix:continuation></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><a id="Tc_pVXE2wm-D022xbrE57R0HA_1_2"></a><a id="Tc_RdepWG5FlE2tyoOmq0pGHw_2_2"></a><a id="Tc_ejMDpV-PmEeGplLz03md4A_2_5"></a><a id="Tc_2xBEbu0CPUGwQsF8h7HQEg_4_0"></a><a id="Tc_EyHMU5oAkEanwFCNKsrttw_4_2"></a><a id="Tc_0Zu40OFE8Eul2uR1N5Y23w_4_3"></a><a id="Tc_mPqYxbMFhke5uELnCQZhlg_4_5"></a><a id="Tc_toiNtLPNTUWgZ3yl6eZa-g_5_0"></a><a id="Tc_adK594_GJk-Ed5uMBtuBPQ_7_0"></a><a id="Tc_iW7XHviXFEqt0TVeQApYvQ_7_2"></a><a id="Tc_WBKCEhApRUqywN821pIW4w_7_5"></a><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="inod:ShortTermInvestmentsOthersTextBlock" id="Tb_nkLA9DFwzEiYKGp2V7yQfA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><b style="font-weight:bold;">2.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Short Term Investments - other</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Short-term investments include investments made by the Company in treasury bills and certificates of deposit which are considered as highly liquid investments having an original maturity period of more than three months but less than one year from the balance sheet date.</p><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="inod:ShortTermInvestmentsOtherReadilyMarketableTableTextBlock" id="Tb_hnMEoN3aOEWgnHsfjfTKiw" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:50%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Treasury bills</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:MoneyMarketFundsAtCarryingValue" scale="3" id="Tc_P3aLWEt0ckC_yqaksiEvAA_4_6">494</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:72.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Certificates of deposit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CertificatesOfDepositAtCarryingValue" scale="3" id="Tc_-LXxt3viWkS1eRnabnBPDA_5_3">14</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CertificatesOfDepositAtCarryingValue" scale="3" id="Tc_iCyYj6ZYMk24zNJsKwDFDQ_5_6">13</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:72.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.38%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherShortTermInvestments" scale="3" id="Tc_jwkq_1B4aEifJPsOzSvcJA_7_3">14</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.38%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherShortTermInvestments" scale="3" id="Tc_6DwP9rzAzkOoVsdh5R_Snw_7_6">507</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:1pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="Tc_NhRbhGRRbUexPURBiKE7-Q_1_2"></a><a id="Tc_28i5u1QsFk6W_EAQ4HzgqQ_2_2"></a><a id="Tc_qgX0xnpNcke-FyRSFvLkVA_2_5"></a><a id="Tc_wED41-7owECxcstjQyuL0w_3_0"></a><a id="Tc_YsVYzJV4dkmIT7U378GsmQ_3_2"></a><a id="Tc_LIsL30j7rkGc2oTJE2y4vA_3_5"></a><a id="Tc_1Q6VsQh2F0m2sq_e2vRJIQ_4_0"></a><a id="Tc_URSTRs_7qEGffWegOr1vKQ_5_0"></a><a id="Tc_yk4VdPaHR0OU1yKB_6oz-A_5_2"></a><a id="Tc_-rfpnowxn02sCwVnyUVLUg_5_5"></a><a id="_98806104_7227_43cf_a46a_251cff61e57a"></a><a id="Tc_LUj4OfYZwESL8206AYTA-A_1_2"></a><a id="Tc_jabTiZi1mUuLkD3bDkNf5g_2_2"></a><a id="Tc_kq1l4URO9UyIRvfHaHXEdw_3_0"></a><a id="Tc_wRP1xT7DC0WmTKY8RzRrPg_3_2"></a><a id="Tc_SJ4BlyE_EUao75maIeut5w_4_0"></a><a id="Tc_-gfj-_-eA02p5LAOk2o2EQ_5_0"></a><a id="Tc_XmBjltjsYk6hjk1ogFjC4A_6_0"></a><a id="Tc_AhokgC05zEitFDx-JWOaeg_7_0"></a><a id="Tc_Dajr1Ia_gEmlqIS9joawTg_7_2"></a><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="us-gaap:AccountsAndNontradeReceivableTextBlock" id="Tb_8Jg9hMGCE0yTrX-GEpTjgg" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><b style="font-weight:bold;">3.</b> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<b style="font-weight:bold;">Accounts Receivable</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-indent:36pt;margin:0pt;">Accounts receivable consists of the following:</p><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" id="Tb_Q8UArr7_CECcaREyGQ6N3Q" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:75.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:75.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:21.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:75.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;">     </b><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:75.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Gross Accounts receivable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableGrossCurrent" scale="3" id="Tc_DZUxCoHVQ06wQ5fD7fDw9Q_3_3">15,505</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableGrossCurrent" scale="3" id="Tc_EIEUGXbxu0aHvFSGPO__Bg_3_6">10,741</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:75.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Allowance for doubtful accounts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="Tc_NPG4CRREKEaBRIeo--Ru4Q_4_3">1,217</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="Tc_84SpL6V01EKH1MXEZQds7g_4_6">1,213</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:75.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accounts receivable, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableNetCurrent" scale="3" id="Tc_b3L1uijhx0q8wLeh6IWN6Q_5_3">14,288</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableNetCurrent" scale="3" id="Tc_77K4QNaOHkGSNsoeTJck_g_5_6">9,528</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">As of January 1, 2023 the Company has adopted ASU 2019-04, &#8220;Codification Improvements to Topic 326, Financial Instruments - Credit Losses&#8221;, and based on the Company&#8217;s assessment there was no impact on the financial statements or other related disclosures. The basis of allowance for doubtful accounts is further elaborated in Note 1, &#8220;Critical Accounting Policies and Estimates&#8221; to the consolidated financial statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock" id="Tb_dxhHmRuyi0G3AF7hmkbCEQ" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Activity in the allowance for the credit losses for the year ended December 31, 2023 was as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:77.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:77.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For&#160;the&#160;Year&#160;Ended</b></p></td></tr><tr><td style="vertical-align:bottom;width:77.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;December&#160;31,&#160;2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:77.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance at January 1, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="Tc_I53xEZEETkeaCCr6RNa4mw_3_3">1,213</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:77.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Additions charged to expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProvisionForDoubtfulAccounts" scale="3" id="Tc_runKOXP5H0OHQiZphZFr5Q_4_3">426</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:77.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Write-offs against allowance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs" scale="3" id="Tc_97GyZrWOOESIv59GfYS38Q_5_3">426</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:77.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Foreign currency translation adjustment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FinancingReceivableAllowanceForCreditLossForeignCurrencyTranslation" scale="3" id="Tc_4DDcD9xCM0GDi-MdTnWsMw_6_3">4</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:77.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance at December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="Tc_Oa-SGyz670Wnl47aVfx7aQ_7_3">1,217</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-16</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 18pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">INNODATA&#160;INC. AND SUBSIDIARIES</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt 0pt 12pt 0pt;">YEARS ENDED DECEMBER 31, 2023 AND 2022</p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_3c6a3d22_b024_446d_9878_70e501a1dc5a"></a><a id="Tc_JdVT9tnrh0WmJeubezSTEA_1_2"></a><a id="Tc_1bP47iM2K0y7nM0SY55yGg_2_2"></a><a id="Tc_4EaT1kuhU02cygz-0M7u-Q_2_5"></a><a id="Tc_Jsd-c-U1HUOIYLu-pB_kuA_3_0"></a><a id="Tc_jvkvx-pUVku4W2ZJiPsN2Q_3_2"></a><a id="Tc_RhU1Yx-KyEWOIEo8G25WcA_3_5"></a><a id="Tc_GC3m4-uyUUuJAw-wTlC-6Q_4_0"></a><a id="Tc_DJVgmVu_bk2txse85j_jPA_5_0"></a><a id="Tc_nVfu3O8_TEeEhJ_cQOO2qg_6_0"></a><a id="Tc_qWC2qEgXCUmlSNz8F6srSQ_7_0"></a><a id="Tc_SpaxFG74l0qy_gn46JulSg_7_6"></a><a id="Tc_40BRyC31mUGcClKfYlyzLw_8_0"></a><a id="Tc_ENZ02XW4_UyXzRNBP0YrsQ_9_0"></a><a id="Tc_cyg_z7KLCkO9IHuA6frrQA_10_2"></a><a id="Tc_yigGTo8o7Uy-UB5Wc01jiw_10_5"></a><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock" id="Tb_tc6QRDxyAk6qd7xQ6kDdLw" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">4.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Property and equipment</p><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="us-gaap:PropertyPlantAndEquipmentTextBlock" id="Tb_NJTSKZBMxEahrRUO8PRgUQ" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Property and equipment, which include amounts recorded under capital leases, are stated at cost less accumulated depreciation and amortization (in thousands), and consist of the following:</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:28.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_EquipmentMember_zzAXJJYIRU-phMDpp2ofCA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" scale="3" id="Tc_eZjUvLWlJ0O3uDoi0iKrIg_3_3">11,315</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_EquipmentMember_DGXm8rAQtU6PwKu4QVVPCw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" scale="3" id="Tc_2FoNz7a_UUuEqUXwpxtthw_3_6">12,391</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Computer software</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_NnKaqIz6W0S5bpyx7bFy3A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" scale="3" id="Tc_tZs-2riackW1T-7OKFlMMA_4_3">4,465</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_F-3xW7ASn0K6WUWt9riFzw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" scale="3" id="Tc_tEFmhZ5qgkKL_fbehlhE5A_4_6">4,447</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Furniture and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_j7fr2aREr0etiwWXPom1Cw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" scale="3" id="Tc_F5yEL-7c3E2gQl31KAB-dQ_5_3">1,128</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_-p-SWorF4E-hN-AJEpD9kA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" scale="3" id="Tc_ykP5U_Nn9EyBd9dv9H5hwg_5_6">1,163</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Leasehold improvements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LeaseholdImprovementsMember_uzKSil1umEyaNihIikRvPA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" scale="3" id="Tc_nIRnW_svmEOKmZvWyIPoBA_6_3">2,547</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LeaseholdImprovementsMember_hNIgnDPHqUCSTT89xv2amQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" scale="3" id="Tc_uOdkrwArskilJM-rKg0Rtw_6_6">2,554</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Capital work-in-progress</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ConstructionInProgressMember_RaHGoRdNTE--bt8JibitXg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" scale="3" id="Tc_6i0aLXvqC063Q3ELBjPAnw_7_3">434</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td></tr><tr><td style="vertical-align:bottom;width:68.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" scale="3" id="Tc_pKGAruM04kejYJeHegwkDQ_8_3">19,889</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" scale="3" id="Tc_86p2hpQtQkqKeuQUoaDdMg_8_6">20,555</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Less: accumulated depreciation and amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization" scale="3" id="Tc_RhqoLcNGm02HSd_DzurXgw_9_3">17,608</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization" scale="3" id="Tc_ysBv9gGL8UO0gUzN159EcA_9_6">18,044</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:68.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" scale="3" id="Tc_SLjPJVBs3kWJo6TZP-hYrA_10_3">2,281</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" scale="3" id="Tc_MnKjy_InhEizoPa97VsVPQ_10_6">2,511</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The estimated useful lives of the property and equipment range between <ix:nonNumeric contextRef="As_Of_12_31_2023_srt_RangeAxis_srt_MinimumMember_YmaTx6N9qEuCsBJuq0OvGw" format="ixt-sec:durwordsen" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Narr_dxtX1jCBBUmd1ILgJgEQSA">two years</ix:nonNumeric> and <ix:nonNumeric contextRef="As_Of_12_31_2023_srt_RangeAxis_srt_MaximumMember_PIfZGM-P3EK34TOf7oCTgw" format="ixt-sec:durwordsen" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" id="Narr_uj6J159t6keHgAs-M9oohQ">ten years</ix:nonNumeric>. Depreciation and amortization expense of property and equipment were approximately $<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_PropertyPlantAndEquipmentMember_q1bRmTSSYkOD3HDGnkIF2Q" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:DepreciationDepletionAndAmortization" scale="6" id="Narr_6Lz7gl6ke0qlrEPSm79pzA"><ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_PropertyPlantAndEquipmentMember_l3aWZIWm_0SZhUxTlhaGUA" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:DepreciationDepletionAndAmortization" scale="6" id="Narr_BtZcCCo4XUOjc3kbmy-aGQ">1.2</ix:nonFraction></ix:nonFraction> million for each of the years ended December 31, 2023 and 2022, respectively.</p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_926db3e7_8cc1_4662_8a77_6a052dffffb1"></a><a id="Tc_W7ZQKiLMpkypReOUhq6vvw_1_0"></a><a id="Tc_ZEL--OjDfEC6ojuKBoHvJA_1_2"></a><a id="Tc_bYDxKFgd4U20nMgMEbmoxA_2_0"></a><a id="Tc_l_yH0NU1MUmjvn46nY6dDA_3_0"></a><a id="Tc_-dXBEwiaOUyBitQGsLKg0w_3_2"></a><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock" id="Tb_CSjPpe1hVUCGPENz5-zwPg" continuedAt="Tb_CSjPpe1hVUCGPENz5-zwPg_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">5.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Goodwill and Intangible Assets</p><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="us-gaap:ScheduleOfGoodwillTextBlock" id="Tb_ievnR4GtQUCpkz6yy3a7eQ" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The changes in the carrying amount of goodwill for the year ended December 31, 2023 were as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:40%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:80.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:80.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance - January 1, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Goodwill" scale="3" id="Tc_AW2LpD7pOkCsGZvvv7-2GA_1_3">2,038</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:80.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Foreign currency translation adjustment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GoodwillForeignCurrencyTranslationGainLoss" scale="3" id="Tc_EJaRfArrh0OIJAwjWLoMeg_2_3">37</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:80.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance - December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.96%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Goodwill" scale="3" id="Tc_ggW8NgJ_FUWXl7crctSP1w_3_3">2,075</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">As of September 30, 2023 the Company performed its annual goodwill impairment analysis on the Agility segment. It involved a quantitative goodwill impairment test and estimated the fair value based on a combination of the income approach (estimates of future discounted cash flows) and the market approach (market multiples for similar companies) using unobservable inputs (Level 3). The income approach uses a discounted cash flow (&#8220;DCF&#8221;) method that utilizes the present value of cash flows to estimate the segment&#8217;s fair value. The future cash flows of the segment were projected based on the Company&#8217;s estimates of future revenues, operating income, and other factors such as working capital and capital expenditures. As part of the DCF analysis, the Company projected revenue and operating profit and assumed long-term revenue growth rates in the terminal year. The market approach utilizes multiples of revenues and earnings before interest expense, taxes, depreciation, and amortization (&#8220;EBITDA&#8221;) to estimate the segment&#8217;s fair value. The market multiples used for the segment were based on a group of comparable companies&#8217; market multiples applied to the Company&#8217;s revenue. The Company concluded that there is <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-5" format="ixt-sec:numwordsen" name="us-gaap:GoodwillImpairmentLoss" scale="6" id="Narr_nvGSiKZiTk6G97MWfsCEpw">no</ix:nonFraction> impairment of goodwill.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The fair value measurement of goodwill for the Agility segment was classified within Level 3 of the fair value hierarchy because the Company used the income approach, which utilizes significant inputs that are unobservable in the market and the market multiple approaches using comparable entities to further validate the carrying values. The Company believes it made reasonable estimates and assumptions to calculate the fair value of the reporting unit as of the impairment test measurement date. The carrying value of Goodwill was $<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:Goodwill" scale="6" id="Narr_QKVUtp8NPkCeJ86cDDBxfg">2.1</ix:nonFraction> million and $<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:Goodwill" scale="6" id="Narr_kxw6SRQHp0Guib8KqfUaFQ">2.0</ix:nonFraction> million as of December 31, 2023, and 2022, respectively.</p></ix:nonNumeric></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-17</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 18pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">INNODATA&#160;INC. AND SUBSIDIARIES</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt 0pt 12pt 0pt;">YEARS ENDED DECEMBER 31, 2023 AND 2022</p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_828d3140_91aa_4b79_b4ec_617134f18c7f"></a><a id="Tc_LqyrzDtzyUe8TRx2VHeymg_1_2"></a><a id="Tc_kxDyJjr4f0GTolS_jW80Fg_2_8"></a><a id="Tc_yVQ7AcRvtEOd4TaW9ac8pQ_3_2"></a><a id="Tc_j7Gjw1zqwkKZVG-NiwFnNQ_3_5"></a><a id="Tc_9ZQG2H5LM0OmtIyBC8OwIg_3_8"></a><a id="Tc_HqDBsoYYzEKGbXKzRPFSvA_3_11"></a><a id="Tc_isA7201H2kKwVdReAJvgPg_4_2"></a><a id="Tc_UWD_27jrpkW5WsZ23dw3XQ_4_5"></a><a id="Tc_dTGQCt9prkeG4iHkm7ENjw_4_8"></a><a id="Tc_T8UMpQmObkiHGMBshGfOSQ_4_11"></a><a id="Tc_q_-dQyKkoUiCP5Op_wdL3w_5_0"></a><a id="Tc_hAAp6Z-_ZU2fDx4uZ9bnXQ_6_0"></a><a id="Tc_4-VaWWiwOEasFUZfsAXNtw_6_2"></a><a id="Tc_1bqRS8XoZUyu8NDn6ghPrA_6_5"></a><a id="Tc_ltTFDXclfEye2dG1DjIuMA_6_8"></a><a id="Tc__rzb4dnxpkaHLSookuSu3g_6_11"></a><a id="Tc_zz6EgXD6q0GPNpHIwRj7Mw_7_0"></a><a id="Tc_knl7FHmhNU-WNORJX9xfeA_8_0"></a><a id="Tc_xNFihUVwmE-a-PM4xeRlUA_9_0"></a><a id="Tc_oLI_ynu3DEyVKjm4B6QJMA_9_9"></a><a id="Tc_53A1HBEM8UqYbbkZUFuzzw_10_0"></a><a id="Tc_S17Qe9njZE2syB0L2QbfSw_11_0"></a><a id="Tc_WpV6v-f0-0CO-gg3LzmRGg_11_2"></a><a id="Tc_rv3ey2VGO0KcQHL7OMsKlQ_11_5"></a><a id="Tc__LcbozVPIkypi2mBeQAkVA_11_8"></a><a id="Tc_o3Xmz2tN-EGREmXJ3rTc6Q_11_11"></a><a id="Tc_iVBhfbaU6kWbLz2Y_Nnb7g_13_0"></a><a id="Tc_ywNVfe0FzkKhXf79U8MCMw_14_0"></a><a id="Tc_ih1pSWTDEUunYEtrToIrtQ_14_2"></a><a id="Tc_OXeKgMNBBUCDThO1mwv6Hw_14_5"></a><a id="Tc_a02_Fm1mMU-lPi8D9BnAOg_14_8"></a><a id="Tc_rEwdjQ65K0Ga5JutUxCaMg_14_11"></a><a id="Tc_mHqngnJyc0CeHXO2BqOUwQ_15_0"></a><a id="Tc_yVet4TUor0Cx7TRouLmEDA_15_6"></a><a id="Tc_PSrkkXfMq0CE1hG1CBTg1A_16_0"></a><a id="Tc_S7Z23wERZkSyG9CyHevd0g_16_2"></a><a id="Tc_gohi3llKnEWWydd9ydZjKQ_16_5"></a><a id="Tc_pK29062fV0aZKcT-mdCz_w_16_8"></a><a id="Tc_izaZz06XhkmF_p1isWe57g_16_11"></a><a id="Tc_iH9RWOL8Xkq2q3klvJAJAQ_18_0"></a><a id="Tc_IDk__YFVUUmsD_4hOsJEuw_18_2"></a><a id="Tc_Z2QPJkigSUOUeoRw3N17Mw_18_5"></a><a id="Tc_gcKlcN7kakOd8aqcbpsrCA_18_8"></a><a id="Tc_UF_6UmFijkuGQSxTwC8h2g_18_11"></a><a id="_68a1d18c_b5dc_4395_aed6_19704a7232ef"></a><a id="Tc_gKguC_QCk0-HjCTWmpeg7A_1_2"></a><a id="Tc_E82woswyXEe6-d3SKsxN_A_2_8"></a><a id="Tc_Y8XNUUwD8ESmMADyrE7gHg_3_2"></a><a id="Tc_BVgA9V4CNk2Glh1yrqiKBA_3_5"></a><a id="Tc_EL7ttJvDj0WzmTMyU45sNw_3_8"></a><a id="Tc__iFEPcm0EE-ZV5DNa0kkSQ_3_11"></a><a id="Tc_-oa04-WOX0OK0AA3ToDTwg_4_2"></a><a id="Tc_QspyfHxtmEKfjhmBqr0kNg_4_5"></a><a id="Tc_uzTBYHXeUkm54xP7l0tLMA_4_8"></a><a id="Tc_3GB_2us8iEaKAshOOFGqTA_4_11"></a><a id="Tc_OxGhudANTkKxB5Hr3M0cLw_5_0"></a><a id="Tc_qVrT-zoN7EKswTawE7oF5g_6_0"></a><a id="Tc_uMQ3zx-cpkKRujLbpJLlOg_6_2"></a><a id="Tc_rG43rWDgHkaTQ0SJBWr9NQ_6_5"></a><a id="Tc_rHAgWmyF306mY3bLZjP1fg_6_8"></a><a id="Tc_mHssdTPPIkKF-4M3YG_WUQ_6_11"></a><a id="Tc_j60c8lAMP0e4CUkYvQ3ZZA_7_0"></a><a id="Tc_f3BZN2fGzU2RCeN-a378jA_8_0"></a><a id="Tc_xWsTZCf2Ok6vG95k5g9pUg_9_0"></a><a id="Tc_yt4MftFoykSK3y9mkuoIxw_10_0"></a><a id="Tc_-I55J3kB-EmXOgdcvZAxtQ_11_0"></a><a id="Tc_cElnozS71UmZ5eBUtC28cQ_11_2"></a><a id="Tc_bXA5fa4u4UqEN5HJzsNenw_11_5"></a><a id="Tc_2vcsr4HhCkKLby2Nm0tozg_11_8"></a><a id="Tc_4gS8sCVEvU26k0WTVczTTQ_11_11"></a><a id="Tc_h6KStWuZqk6oR35LpxnziA_13_0"></a><a id="Tc_OiuLHFdQyEGqvVMIt97q-g_14_0"></a><a id="Tc_u-74sxAdRUCJEs76RkfjJg_14_2"></a><a id="Tc_h1agThsFiEGkK1Jj5hgceg_14_5"></a><a id="Tc_v71MF1zJSEe13IRGkVj2Tg_14_8"></a><a id="Tc_wTkfXjD4LkKz_9c5395krA_14_11"></a><a id="Tc_Ejm_8-87IUGP0J97cUfXaQ_15_0"></a><a id="Tc_MKLi5G6ri0yRABR0bhp8dg_15_6"></a><a id="Tc_se-3htuWKUGfihvpLcg94w_16_0"></a><a id="Tc_qPpmrtzBCUKPtcMncbNzrg_16_2"></a><a id="Tc_ex_OilvXOEirbzxhALdz-Q_16_5"></a><a id="Tc_xjHdENUQcUKIp5pgSDBWAA_16_8"></a><a id="Tc_STJXiBk48UeUMAuM5Rp1KQ_16_11"></a><a id="Tc_cHjPlscERUGUSQ1l08ohvw_18_0"></a><a id="Tc_kQ8pPNXq_E2SCx3SMY1nig_18_2"></a><a id="Tc_Bsx2d2JUDkSnDAkwbYlgUA_18_5"></a><a id="Tc_CbP3ws4FaU2DhclWltxKNg_18_8"></a><a id="Tc_vNeUde672UCS5fPOBSDhgQ_18_11"></a><ix:continuation id="Tb_CSjPpe1hVUCGPENz5-zwPg_cont1" continuedAt="Tb_CSjPpe1hVUCGPENz5-zwPg_cont2"><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" id="Tb_ucGD0-IBRkmj6t6ZvF-ZwA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Information regarding the Company acquired intangible assets and capitalized developed software was as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;background:#ffff00;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:55.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,&#160;2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Foreign&#160;Currency</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Gross&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Accumulated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;Translation</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Net</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;">     </b><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Carrying&#160;Value</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">     <span style="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">     <span style="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;Adjustment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">     <span style="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Carrying&#160;Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Acquired Intangible Assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Developed technology</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_jgpXL2KeZEmEkWN_lDeXmQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_JAc0ta4ryEiTfvAF31om3g_6_3">2,999</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_jgpXL2KeZEmEkWN_lDeXmQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_5ROTtyL8Fk-EeW0c9Uy_Cw_6_6">2,640</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_jgpXL2KeZEmEkWN_lDeXmQ" decimals="-3" format="ixt:numdotdecimal" name="inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment" scale="3" id="Tc_QX5GK2x2MEKSEPInJGRiFQ_6_9">7</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_jgpXL2KeZEmEkWN_lDeXmQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_9AfmFwunvEuKhfpR-AdYMg_6_12">366</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Customer relationships</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_lJ-iqzoN70qDCnc-LsPEuw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_LSVBhKlFIUKZMwYbcDaO0w_7_3">2,096</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_lJ-iqzoN70qDCnc-LsPEuw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_fMwsYypg3UirCxv5yWfcKw_7_6">1,645</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_lJ-iqzoN70qDCnc-LsPEuw" decimals="-3" format="ixt:numdotdecimal" name="inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment" scale="3" id="Tc_LYOpBkZDHk2niRIJwCjnFg_7_9">10</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_lJ-iqzoN70qDCnc-LsPEuw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_0Jw6phCuiUOzn99BP1YIdQ_7_12">461</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Trademarks and tradenames</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TrademarksAndTradeNamesMember_Gj52JADWik2ItSOKlpbJzg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_ekGj95VKoEOYMY7db631tA_8_3">852</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TrademarksAndTradeNamesMember_Gj52JADWik2ItSOKlpbJzg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_mKPboiS8oU6oGJ1TvNd_jQ_8_6">774</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TrademarksAndTradeNamesMember_Gj52JADWik2ItSOKlpbJzg" decimals="-3" format="ixt:numdotdecimal" name="inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment" scale="3" id="Tc_vmFpdhgV5ESkCewkUA3tDg_8_9">2</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TrademarksAndTradeNamesMember_Gj52JADWik2ItSOKlpbJzg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_PAd3vhpfRUyYemvrspjX3g_8_12">80</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Patents</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_PatentsMember_zVB7ioDKikWsICnbFgSR-A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_a8BAowHHFkqakeMKfiMssA_9_3">43</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_PatentsMember_zVB7ioDKikWsICnbFgSR-A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_ZYOxVC7aGkW0cpX33tVGRw_9_6">40</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_PatentsMember_zVB7ioDKikWsICnbFgSR-A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_w83W1SxKnkiuBlCdI6erDQ_9_12">3</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Media Contact Database</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DatabasesMember_EBiWXn6yiECLhivoDMTk4Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_U-yYtFsHoUiueS_qqpZ8JQ_10_3">3,492</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DatabasesMember_EBiWXn6yiECLhivoDMTk4Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_D8RAqIJsL0-w9HWRtYhI8Q_10_6">2,621</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DatabasesMember_EBiWXn6yiECLhivoDMTk4Q" decimals="-3" format="ixt:numdotdecimal" name="inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment" scale="3" id="Tc_N_CCDuAaG0ugd8GinD2irQ_10_9">16</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DatabasesMember_EBiWXn6yiECLhivoDMTk4Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_bXOYeVifCEKv2TdlsQNdOw_10_12">887</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total Acquired Intangible Assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_3xT5wZurSEWwIqeeGVMCmw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_wPt2R3WFUUe3lp5SHiiy-w_11_3">9,482</ix:nonFraction></b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_3xT5wZurSEWwIqeeGVMCmw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_P1ww15s1YU6a1LPPB7AS5g_11_6">7,720</ix:nonFraction>)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_3xT5wZurSEWwIqeeGVMCmw" decimals="-3" format="ixt:numdotdecimal" name="inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment" scale="3" id="Tc_km-nxPv-_kqYoouf9hwN8Q_11_9">35</ix:nonFraction></b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_3xT5wZurSEWwIqeeGVMCmw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_eK5IpmcmdUW_X96L8kf4Bw_11_12">1,797</ix:nonFraction></b></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Capitalized Developed Software</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Capitalized Developed Software</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostMember_dKot9KqYtkm9_4foL5aTIA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_4kMGurujrUyIDWBDERwR2w_14_3">15,216</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostMember_dKot9KqYtkm9_4foL5aTIA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_Fpia8LrOjkKwkcrUcfK9qw_14_6">6,862</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostMember_dKot9KqYtkm9_4foL5aTIA" decimals="-3" format="ixt:numdotdecimal" name="inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment" scale="3" id="Tc_77orlJuLoUWcfsaakbp9tg_14_9">138</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostMember_dKot9KqYtkm9_4foL5aTIA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_yO_E1StL6kSgKpTNav7A-A_14_12">8,492</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="white-space:pre-wrap;">Capitalized  Developed Software - in Progress</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember_3Q1JoDdhqUC0jOy4GmA0aw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc__FmiPd0erUunDIzhl6UxhA_15_3">3,480</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember_3Q1JoDdhqUC0jOy4GmA0aw" decimals="-3" format="ixt:numdotdecimal" name="inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment" scale="3" id="Tc_9VWBwZl7xkW5fS9qHTBH9A_15_9">11</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember_3Q1JoDdhqUC0jOy4GmA0aw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_6OItl3hK0k6CmlpBhERaMg_15_12">3,469</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total Capitalized Developed Software</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_7PVrMi5Wr0aP4girP8kHXA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_kZjyUCeVTkaVWAlOaGH7EA_16_3">18,696</ix:nonFraction></b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_7PVrMi5Wr0aP4girP8kHXA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_dxTIfvk7WU-bvPXH1-5NQw_16_6">6,862</ix:nonFraction>)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_7PVrMi5Wr0aP4girP8kHXA" decimals="-3" format="ixt:numdotdecimal" name="inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment" scale="3" id="Tc_ciqPJ8uFK0ig9OYmC9sfmg_16_9">127</ix:nonFraction></b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_7PVrMi5Wr0aP4girP8kHXA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_19nCWmykhUaKTKdEWC54hg_16_12">11,961</ix:nonFraction></b></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_0wCQC9jxckOy2Uq0TgjgZw_18_3">28,178</ix:nonFraction></b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_3b5lNWQThUOvtuF8sfmflA_18_6">14,582</ix:nonFraction>)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment" scale="3" id="Tc_6-z1N7hmaEaGKmgy6E6GOg_18_9">162</ix:nonFraction></b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_8tuOCwuToEyaylx6BksNIA_18_12">13,758</ix:nonFraction></b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;background:#ffff00;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;">     </b><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:55.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,&#160;2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Foreign&#160;Currency</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Gross&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Accumulated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;Translation</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Net</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Carrying&#160;Value</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;Adjustment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Carrying&#160;Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Acquired Intangible Assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Developed technology</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_nLHbcZHXgU6_creI3uE6xA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_hfcSzCvq7EaD1Il5GBXl2A_6_3">3,169</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_nLHbcZHXgU6_creI3uE6xA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_-O6oaHzQjkK6Xakx3DPPzA_6_6">2,468</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_nLHbcZHXgU6_creI3uE6xA" decimals="-3" format="ixt:numdotdecimal" name="inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment" scale="3" id="Tc_E4_GNdp88Ee3qk7GgW2tuA_6_9">43</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_nLHbcZHXgU6_creI3uE6xA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_GLt2JK51rkSSgfOTH2owHw_6_12">658</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Customer relationships</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_Zyeu2TOum0WZjX6qoUuy-g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_0DA0ytSw30an5io82bPVQg_7_3">2,228</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_Zyeu2TOum0WZjX6qoUuy-g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_ubknu3KNKECvmYMf-b-1GA_7_6">1,560</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_Zyeu2TOum0WZjX6qoUuy-g" decimals="-3" format="ixt:numdotdecimal" name="inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment" scale="3" id="Tc_l8HVImzVQk2OVm1q-pT8KA_7_9">42</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_Zyeu2TOum0WZjX6qoUuy-g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_jSTFlMWB50Op6O0EMzEvfg_7_12">626</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Trademarks and tradenames</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TrademarksAndTradeNamesMember_uHTO2EfbRUC-OqF-EOw6qA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_fqjcGptxPkC5z6SyFUGGpg_8_3">880</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TrademarksAndTradeNamesMember_uHTO2EfbRUC-OqF-EOw6qA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_X-DWdE5dkUaOikNXPFZqRw_8_6">740</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TrademarksAndTradeNamesMember_uHTO2EfbRUC-OqF-EOw6qA" decimals="-3" format="ixt:numdotdecimal" name="inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment" scale="3" id="Tc_XL82fzSg0EehBSOFNAIf0Q_8_9">8</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TrademarksAndTradeNamesMember_uHTO2EfbRUC-OqF-EOw6qA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_vAYtxMgCZ0ijQ-QradTYdg_8_12">132</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Patents</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_PatentsMember_WeQXdzje8ka8BkVNU3B7wQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_dBgox_wCZ0-HCfaE3cYuFQ_9_3">45</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_PatentsMember_WeQXdzje8ka8BkVNU3B7wQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_enKKxe9bj0ylGKpI2Oin_Q_9_6">38</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_PatentsMember_WeQXdzje8ka8BkVNU3B7wQ" decimals="-3" format="ixt:numdotdecimal" name="inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment" scale="3" id="Tc_orLZpouiaEScApjobdI8BQ_9_9">1</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_PatentsMember_WeQXdzje8ka8BkVNU3B7wQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_NYjSlJgTaUu-cc5v6FBGuQ_9_12">8</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Media Contact Database</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DatabasesMember_mRRUGIoPKk-sWL8PUouAGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_42_GgOnb60S5MOaJ0M7ymA_10_3">3,648</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DatabasesMember_mRRUGIoPKk-sWL8PUouAGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_lNGdJVkRf0qphrPHzUVENw_10_6">2,358</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DatabasesMember_mRRUGIoPKk-sWL8PUouAGQ" decimals="-3" format="ixt:numdotdecimal" name="inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment" scale="3" id="Tc_jIVcO8UFhkyBpBF1JA_WBQ_10_9">68</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DatabasesMember_mRRUGIoPKk-sWL8PUouAGQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_PvAtfAqA80G5S_BjArBbCQ_10_12">1,222</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total Acquired Intangible Assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_htNU6lFd3kKabu_rRRkMyA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_y2raSVUw5Uem_mqqc-G6bw_11_3">9,970</ix:nonFraction></b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_htNU6lFd3kKabu_rRRkMyA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_-TxM8KqJC062x8BIhZH_1w_11_6">7,164</ix:nonFraction>)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_htNU6lFd3kKabu_rRRkMyA" decimals="-3" format="ixt:numdotdecimal" name="inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment" scale="3" id="Tc_m1pRxUzNXUmyb-nn5ZXM1w_11_9">160</ix:nonFraction>)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_htNU6lFd3kKabu_rRRkMyA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_1_4qxq089k-lRMp19nbxjg_11_12">2,646</ix:nonFraction></b></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Capitalized Developed Software</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Capitalized Developed Software</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostMember_1EUD_z-rhES_jtnA2B4dGA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_81DPPga9X0-933XQbzBqoQ_14_3">11,845</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostMember_1EUD_z-rhES_jtnA2B4dGA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_NEvlGQic2UKnxpb2v_jDJA_14_6">4,398</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostMember_1EUD_z-rhES_jtnA2B4dGA" decimals="-3" format="ixt:numdotdecimal" name="inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment" scale="3" id="Tc_l_w7TGBcmEyVGHJg8tTFCA_14_9">348</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostMember_1EUD_z-rhES_jtnA2B4dGA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_mHoC8bFjmUCulLwgtLPROA_14_12">7,099</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="white-space:pre-wrap;">Capitalized  Developed Software - in Progress</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember_BEgB-Yr_nES75-uDd-4kHg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc__-uPoYZg8E-LVwwzp5d-1w_15_3">2,787</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember_BEgB-Yr_nES75-uDd-4kHg" decimals="-3" format="ixt:numdotdecimal" name="inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment" scale="3" id="Tc_gIgVqAyL7UumVb4xM-kPPA_15_9">6</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember_BEgB-Yr_nES75-uDd-4kHg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_ngjiHOvEwEipvA22NZ84Qg_15_12">2,781</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total Capitalized Developed Software</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_CNjlWMTNREa7402JV2GnsA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_SwQXtlXOGUOWNG89rd6BnA_16_3">14,632</ix:nonFraction></b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_CNjlWMTNREa7402JV2GnsA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_dEVwGbYEDEqpHlsQvBUPbw_16_6">4,398</ix:nonFraction>)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_CNjlWMTNREa7402JV2GnsA" decimals="-3" format="ixt:numdotdecimal" name="inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment" scale="3" id="Tc_g1ZKBLs1CUC9x-xVO7nlJg_16_9">354</ix:nonFraction>)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_CNjlWMTNREa7402JV2GnsA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_S3X_ZH2t7kaSwvv3rDF5uA_16_12">9,880</ix:nonFraction></b></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsGross" scale="3" id="Tc_Rv3bZdt5WEO_trZJAz29Aw_18_3">24,602</ix:nonFraction></b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" scale="3" id="Tc_KKuhBQJSaUqyEUui1dORDg_18_6">11,562</ix:nonFraction>)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment" scale="3" id="Tc_4ErX0JB1J0eOJjEHL_LghQ_18_9">514</ix:nonFraction>)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_CiNg44-yQkiFM_yme_Pgow_18_12">12,526</ix:nonFraction></b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Amortization expense relating to acquired intangible assets was approximately $<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_5ToJZqlEW0i8mTZxDTlASQ" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:AmortizationOfIntangibleAssets" scale="6" id="Narr_tuCRl0e1kESqlAsJz4WQ2Q"><ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember__a2gkVDth0ywgic7QgphKQ" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:AmortizationOfIntangibleAssets" scale="6" id="Narr_LH5Avm69rECUq-neRJ_5QA">0.9</ix:nonFraction></ix:nonFraction> million for each of the years ended December 31, 2023 and 2022, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;min-height:12.0pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Amortization expense relating to capitalized developed software was approximately $<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_oy0WX7SYMUyLC7id-H4ucw" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:AmortizationOfIntangibleAssets" scale="6" id="Narr_-iMV-8wtTkSDIoJRwd7VWg">2.7</ix:nonFraction> million and $<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_MrUGCXFZSEWy5o1j5bpSmw" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:AmortizationOfIntangibleAssets" scale="6" id="Narr_qO4cOcJc5UObil5VwOzISw">1.8</ix:nonFraction> million for the years ended December 31, 2023 and 2022, respectively.</p></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-18</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 18pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">INNODATA&#160;INC. AND SUBSIDIARIES</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt 0pt 12pt 0pt;">YEARS ENDED DECEMBER 31, 2023 AND 2022</p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_be28a10c_9c11_4301_9112_5d3383203365"></a><a id="Tc_7Brhjq1l_US9nC167u7epA_1_0"></a><a id="Tc_XH4VjDT_lEisCPunbzkp8Q_1_2"></a><a id="Tc_RpnfVxcwBEuaWYi73pMMvQ_2_0"></a><a id="Tc_iA0DUiQzOEK7xKj2P4rHPQ_2_2"></a><a id="Tc_SYabjo3qOku1LQvSn2l--w_3_0"></a><a id="Tc_64SRWHyXm0yHYIGB-3De4A_4_0"></a><a id="Tc_5NhyE90QikSLM96_SwJaUg_5_0"></a><a id="Tc_LGQrWlIR2kSHBycbc4GwQg_6_0"></a><a id="Tc_ZGPI8HqXjEyaMDlrWYWHsA_7_0"></a><a id="Tc_vrhK4HXLK0CYhVF1Tc13jA_8_2"></a><ix:continuation id="Tb_CSjPpe1hVUCGPENz5-zwPg_cont2"><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" id="Tb_ivQTd5k16UaC2jX0jnpM3Q" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Estimated annual amortization expense for intangible assets subsequent to December 31, 2023 is as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:40%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:22.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Year</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:26.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amortization</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:22.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" scale="3" id="Tc_6nppNK8bPE-Xei8i1eGjeg_2_3">4,929</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:22.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" scale="3" id="Tc__ym3DWWakEm4ABtBZv7srA_3_3">3,976</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:22.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" scale="3" id="Tc_xtN-XgoCr0eZvTwL4JpyWg_4_3">2,704</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:22.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" scale="3" id="Tc_2XZtyabu1kiB62chpfDvlw_5_3">739</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2028</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:22.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" scale="3" id="Tc_RxcqA6SAeUGfUC1eDbvlaw_6_3">597</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:22.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="inod:FiniteLivedIntangibleAssetExpectedAmortizationThereafter" scale="3" id="Tc_xoMeEWt-P0OkdgKrSqhdZQ_7_3">813</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:68.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:22.82%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:FiniteLivedIntangibleAssetsNet" scale="3" id="Tc_CwXK_qktYEK0WcLQT-oL6A_8_3">13,758</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:1pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><a id="_3f7ab1f7_dbfd_42f0_ac2c_2b533d560c1a"></a><a id="Tc_corL1E8OxUGWm8okAgpwnw_1_2"></a><a id="Tc_ZclfeuJqI06JkGrQV596HQ_1_5"></a><a id="Tc_OBCSrxY1rUmRAxgee0GdvA_2_0"></a><a id="Tc_W9si1fcPCkKVoRbQHr2dpw_3_0"></a><a id="Tc_BW1kfrDzvE26z2L-1eBT0w_3_2"></a><a id="Tc_s0Q-fkEFLUW5Qx54rCj3cQ_3_5"></a><a id="Tc__LLnMiOGgUWlaI2b9SKsRg_4_0"></a><a id="Tc_KMwTlyH6w0GT0szaIl4mNg_5_0"></a><a id="Tc_T3HgmLL6q0q65ORLLuwYNA_7_0"></a><a id="Tc_xkz3b8Ka2UGutTsinnzW_g_8_0"></a><a id="Tc_sr4itLXpY0WCTc9J9lFveQ_9_0"></a><a id="Tc_HblACRIQ-0mH2j63zdHOBA_10_0"></a><a id="Tc_u67PNnRZuUuIyOB6X45Z6g_10_3"></a><a id="Tc_8M35o1TU7k-ShSWcU-ASeA_10_6"></a><a id="Tc_9BBpUovv8EOu3ZOm3N7Z8A_12_0"></a><a id="Tc_oaIYXYXA90S1u73rzVbu9Q_12_2"></a><a id="Tc_k4fG0h8ie0-D00K310ceUw_12_5"></a><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="us-gaap:IncomeTaxDisclosureTextBlock" id="Tb_9LgPdSccL0ypxTmgWF2weA" continuedAt="Tb_9LgPdSccL0ypxTmgWF2weA_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">6.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Income Taxes</p><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" id="Tb_Ik8w5AQnW0KQY3t-F0TlOA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The significant components of the provision for income taxes for the&#160;years ended December 31, 2023 and 2022 were as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Current income tax expense (benefit):</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Foreign</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentForeignTaxExpenseBenefit" scale="3" id="Tc_lnxHlXf_8Uq-RYxcNPBrJw_3_3">1,181</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentForeignTaxExpenseBenefit" scale="3" id="Tc_3P5-nNKcnkWeDH_w4Yd_aA_3_6">1,131</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Federal</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentFederalTaxExpenseBenefit" scale="3" id="Tc_GPWz6N9DbU-e24DOypa2og_4_3">120</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentFederalTaxExpenseBenefit" scale="3" id="Tc_1Gk0bFrRukO2-igUv4Ji7w_4_6">144</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">State and local</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentStateAndLocalTaxExpenseBenefit" scale="3" id="Tc_YwUj4C-m3U-NJwsgX5u1uw_5_3">3</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentStateAndLocalTaxExpenseBenefit" scale="3" id="Tc_IweuLQkoyEGOCYNvQNiCrg_5_6">30</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="3" id="Tc_AabY6kitikOGVMF1yPMLEQ_6_3">1,304</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CurrentIncomeTaxExpenseBenefit" scale="3" id="Tc_WkdZGIyai06tHeUkPRpQkQ_6_6">1,305</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Deferred income tax expense (benefit):</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Foreign</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredForeignIncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_UO2skx6k40OMLo0pQh3yEw_8_3">286</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredForeignIncomeTaxExpenseBenefit" scale="3" id="Tc_Cc6VuZzs10mdpdAaMr2a7g_8_6">207</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Federal</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredFederalIncomeTaxExpenseBenefit" scale="3" id="Tc_whWChMhEaUKwA9QyvYQE5g_9_3">10</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredFederalIncomeTaxExpenseBenefit" scale="3" id="Tc_eKczRzY2iEmEh1qIDgu5lw_9_6">10</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">State and local</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" sign="-" scale="3" id="Tc_owZFcVT7k06kMm0Oecb5-g_11_3">276</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" scale="3" id="Tc_n4VPuc9Vs062Mcj_i5Qbpg_11_6">217</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Provision for income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_6N7ozdycREa5bfEirIuhyQ_12_3">1,028</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="Tc_e1qBtLDPKE6uDK1a2p7KUA_12_6">1,522</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-19</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 18pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">INNODATA&#160;INC. AND SUBSIDIARIES</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt 0pt 12pt 0pt;">YEARS ENDED DECEMBER 31, 2023 AND 2022</p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_7d56d59a_f27f_414f_8645_5fec05193144"></a><a id="Tc_lVWsIKI0eEiQPlhdaVxAqw_1_2"></a><a id="Tc_WmjMCyazOUS0moCy05nbDw_1_4"></a><a id="Tc_pmAQImnOJEuLitPIfui8Tw_2_0"></a><a id="Tc_OJdtYJOag0mglAAa1q5CKg_2_3"></a><a id="Tc_5hSY7jFmaka5Ocr8u_21xA_2_5"></a><a id="Tc_GTxRuqgg60yOfPg0-Fn3Tw_3_0"></a><a id="Tc_JxoCOKI5C02mBvt8jAWtLA_4_0"></a><a id="Tc_jQDm8h7TvEeNXrgtIqzOog_5_0"></a><a id="Tc_zCAgzMF-5kCsZA-IbEKUAQ_6_0"></a><a id="Tc_Wc02dtHoXEaxowPHVdLMxw_6_4"></a><a id="Tc_zDMTebslaESvRuHvsdPWkQ_7_0"></a><a id="Tc_qeMKgzsjdEq7ZhfTXsmn-Q_8_0"></a><a id="Tc_Y-UWFQaTC0uSXJ31F7g6OA_9_0"></a><a id="Tc_y4AK3xtSkESfsZz6xzzC3g_9_4"></a><a id="Tc_IaFL9NdJ3EWZSbJgVCihhw_10_0"></a><a id="Tc_5m7a23h9_UOKpxEovsyIEA_11_0"></a><a id="Tc_sUvuCjyYcUefFiQvKCjRwQ_12_0"></a><a id="Tc_5VVuiLjIWEGWllZX9i_TOw_12_4"></a><a id="Tc_4ewMDtsmyEq_qJHolOqbgw_13_0"></a><a id="Tc_WpYGDMcfiUCjLEu_CzB_lQ_14_0"></a><a id="Tc_4STQsCpRIkOf-qjKF_XgEw_15_0"></a><a id="Tc_yZVyhbIlzkO74S1OVNa4qw_15_4"></a><a id="Tc_OH_EQwVY-06iBrh3qu-vjA_16_0"></a><a id="Tc_30pNhEq2DUiPDYwf1HXeVA_17_0"></a><a id="Tc_Jy-oG7MXm0q9ZyrljkeENA_18_0"></a><a id="Tc_jWNwc9cwiUu4G5k3fG_OIw_18_3"></a><a id="Tc_LszYVrmwsU2zH9SrbEyEPg_18_5"></a><a id="_7d6acc1e_bfa9_4279_8444_8b1f3fe94c79"></a><a id="Tc_MI58Mwj4SkCyi7WnOmUZ4g_1_2"></a><a id="Tc_dUdc-cQc2UmXy4cX0pQ6jQ_2_2"></a><a id="Tc_wOslCiH0gUCygu8XMe2V_A_2_5"></a><a id="Tc_pHa1aJ07Fkeg7NH9lNgrUQ_3_0"></a><a id="Tc_8Rgl-1ulxU61cujmkRi5tA_4_0"></a><a id="Tc_IRo96vhKmUqDJyhpeQlXpw_4_2"></a><a id="Tc_Se-ErGqcO02T91XcE27HOQ_4_5"></a><a id="Tc_X-NF7NaT3EuGZz7iqWiinQ_5_0"></a><a id="Tc_i2lekjRGmkuNmOnQm2sBfA_6_0"></a><a id="Tc__y8Kra2WyUCCwh_tCYV8Zg_7_0"></a><a id="Tc_uksvxxMCvUK8--5peq16xQ_8_0"></a><a id="Tc_g1wklqYs4USSprB9smnXzQ_9_0"></a><a id="Tc_xP_UzBlEGESrATqf4-9M8g_10_0"></a><a id="Tc_NuhBVaLA6E2LTOkPv4l0ew_11_0"></a><a id="Tc_LC70tmsJo0iSSmQ-2Ge7Cg_12_0"></a><a id="Tc_hqOUtI9L_ESb_biZEWTPGA_13_0"></a><a id="Tc_ahYBewA1IE2ki9awyS0RSw_15_0"></a><a id="Tc_YAOzszmCJEadS7CUsrb6pw_16_0"></a><a id="Tc_MMEIzLFe002XGR5yLGyYNA_17_0"></a><a id="Tc_dUB0eOdBW0ujpD02Mcd2ww_19_0"></a><a id="Tc_92EE9uC_hkueU503wHrNhA_19_2"></a><a id="Tc_smozhrsc5U6WsFZ4IwFuSg_19_5"></a><a id="Tc_Xapy81XtyUackzJ44xP8pg_21_0"></a><a id="Tc_9bnc0AgvkEac8Xap-H80rA_21_2"></a><a id="Tc_N1DA1VzdTkyrDaplRJ_4FQ_21_5"></a><a id="Tc_NEpqTGPuAk6tmJ62nCf4Yg_22_0"></a><a id="Tc_xrvSiJ3dDUS4GaOxXBufNA_24_0"></a><a id="Tc_aX1CmRnxWEi5lCLir5IziA_24_2"></a><a id="Tc_DwxzQIyTPE6-sabq_o5HWg_24_5"></a><ix:continuation id="Tb_9LgPdSccL0ypxTmgWF2weA_cont1" continuedAt="Tb_9LgPdSccL0ypxTmgWF2weA_cont2"><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" id="Tb_xVU1eau17E-wML5mmXXThg" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The reconciliation of the U.S. statutory rate with the Company&#8217;s effective tax rate for the&#160;years ended December 31, 2023 and 2022 is summarized as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.61%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Federal income tax expense (benefit) at statutory rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="3" format="ixt:numdotdecimal" name="inod:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRateBenefitExpense" scale="-2" id="Tc_LUohNz5aEke09sOL8C3JEQ_2_2">21.0</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="3" format="ixt:numdotdecimal" name="inod:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRateBenefitExpense" sign="-" scale="-2" id="Tc_pCFa5OFakEe0N-SoRxKezg_2_4">21.0</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:68.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Effect of:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Change in valuation allowance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="3" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" scale="-2" id="Tc_cHat3fNaU0iJopq85Oepjw_4_2">578.6</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="3" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" scale="-2" id="Tc_yInTbxma_0aXTCTPlGfNRg_4_4">36.9</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Tax effects of foreign operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="3" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingenciesForeign" scale="-2" id="Tc_dqH4LXN-tE2XFiFSYi5obA_5_2">562.6</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="3" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingenciesForeign" scale="-2" id="Tc_O9p0Pz1UJEGQya-gCb0m3A_5_4">2.5</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Section 162 (m)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="3" format="ixt:numdotdecimal" name="inod:EffectiveIncomeTaxRateReconciliationSection162Percentage" scale="-2" id="Tc_FPgPJ0v8mU2kySEL6wfmIA_6_2">452.0</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Return to provision true up</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="3" format="ixt:numdotdecimal" name="inod:EffectiveIncomeTaxRateReconciliationReturnToProvisionTrueUp" scale="-2" id="Tc_19_7m0TBs06FsVS4zBcnZg_7_2">264.4</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="3" format="ixt:numdotdecimal" name="inod:EffectiveIncomeTaxRateReconciliationReturnToProvisionTrueUp" scale="-2" id="Tc_zKZX_dvraUmmS2bF9vueHA_7_4">0.3</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Increase in unrecognized tax benefits (ASC 740)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="3" format="ixt:numdotdecimal" name="inod:EffectiveIncomeTaxRateReconciliationIncreaseInUnrecognizedTaxBenefits" scale="-2" id="Tc_XAkkIJV5oUyKiC6LShZT8Q_8_2">199.6</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="3" format="ixt:numdotdecimal" name="inod:EffectiveIncomeTaxRateReconciliationIncreaseInUnrecognizedTaxBenefits" scale="-2" id="Tc_TlpRvy2fD0OeVthIDgyNRA_8_4">0.7</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Withholding tax</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="3" format="ixt:numdotdecimal" name="inod:EffectiveIncomeTaxRateReconciliationWithholdingTaxPercentage" scale="-2" id="Tc_4RK6FZrdy0a9c9MzuEwRXg_9_2">106.6</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Foreign operations permanent differences - foreign exchange gains and losses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="3" format="ixt:numdotdecimal" name="inod:ForeignOperationsPermanentDifferenceForeignExchangeGainsAndLosses" scale="-2" id="Tc_xyZRgwBVpUa2Q_lNtQPeAg_10_2">76.9</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="3" format="ixt:numdotdecimal" name="inod:ForeignOperationsPermanentDifferenceForeignExchangeGainsAndLosses" scale="-2" id="Tc_af9x4fQf-0-bzusIEUFTSA_10_4">1.1</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">State income tax net of federal benefit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="3" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" scale="-2" id="Tc_mb8XuuxjHUKdqL9DKspkIw_11_2">0.1</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="3" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" scale="-2" id="Tc_OYU-m5jRnkGTRIjqfUp14w_11_4">0.2</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Research and development credit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="3" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" scale="-2" id="Tc_m5T8gy2LNEyp4Aa6hoYEMQ_12_2">67.3</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Foreign rate differential</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="3" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" sign="-" scale="-2" id="Tc_KkTZkRsgR0mei8LAc2iIjw_13_2">102.5</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="3" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" sign="-" scale="-2" id="Tc_PzR84roiFEOqY6OYFfxi7g_13_4">4.7</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Deemed interest</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="3" format="ixt:numdotdecimal" name="inod:EffectiveIncomeTaxRateReconciliationDeemedInterestPercent" sign="-" scale="-2" id="Tc_SqyuCxW2X0yiDBKaW5hedA_14_2">149.2</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="3" format="ixt:numdotdecimal" name="inod:EffectiveIncomeTaxRateReconciliationDeemedInterestPercent" sign="-" scale="-2" id="Tc_0ihwQBycq0CXMSrgrRkfrQ_14_4">1.9</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Tax effect of intercompany settlement</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="3" format="ixt:numdotdecimal" name="inod:EffectiveIncomeTaxRateReconciliationTaxSettlementIntercompanyPercent" sign="-" scale="-2" id="Tc_Q9sBRunPyU2i0IFPO8ke0Q_15_2">234.0</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Effect of stock-based compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="3" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" sign="-" scale="-2" id="Tc_0mM8AuInX0SLX1NrLuwoAw_16_2">961.6</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="3" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" sign="-" scale="-2" id="Tc_4fl-N-FDMEGijMWlJfhr-w_16_4">0.3</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="3" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent" sign="-" scale="-2" id="Tc_W3iV9o3-zkWhPON5L1_nVA_17_2">7.6</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="3" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent" scale="-2" id="Tc_HQVjwHyCfUSa-TUY1OJS1w_17_4">0.7</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Effective tax rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.61%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="3" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" scale="-2" id="Tc_mj21lXPjnkePehlrSAR6iw_18_2">739.6</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="3" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" scale="-2" id="Tc_GRif_JpSzEGsqn7s4JLsYA_18_4">14.5</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" id="Tb_HmQgKZNb4Ei_BHR14Q7RVg" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Deferred tax assets and liabilities are classified as non-current. Significant components of the Company&#8217;s deferred tax assets and liabilities as of December 31, 2023 and 2022 were as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Deferred income tax assets:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Allowances not currently deductible</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals" scale="3" id="Tc_O33YnBWyokyfRutmFP3m8Q_4_3">283</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals" scale="3" id="Tc_edgupc5KXUGpgDrSFpjoWw_4_6">301</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Depreciation and amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsPropertyPlantAndEquipment" scale="3" id="Tc_1rZSMjwgE0SF5WtGf0zOIw_5_3">58</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsPropertyPlantAndEquipment" scale="3" id="Tc_zdsDCCy7-E6sT8TJptEOeA_5_6">9</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Equity compensation not currently deductible</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits" scale="3" id="Tc_epvuSVLEAUqEUtZRgLWFmA_6_3">2,098</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits" scale="3" id="Tc_zcrMmL9TR0aloGURA-fHOQ_6_6">1,579</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Net operating loss carryforwards</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwards" scale="3" id="Tc_5ABIGN306EGdkapk_C4xgQ_7_3">10,514</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwards" scale="3" id="Tc_HDhKYn7fjE-mjp38atPzug_7_6">10,758</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Research and development credits</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch" scale="3" id="Tc_COt9zDqEukS2nf1r3uPfuw_8_3">452</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch" scale="3" id="Tc_wL2x4Qf1jUCj12rQ9n1Qkw_8_6">362</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Expenses not deductible until paid</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="inod:DeferredTaxAssetsExpensesNotDeductibleUntilPaid" scale="3" id="Tc_36gA7r36oEa1zpL_2cNffA_9_3">1,972</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="inod:DeferredTaxAssetsExpensesNotDeductibleUntilPaid" scale="3" id="Tc_qBEFo-lqBUah7LvJDWXDHw_9_6">1,694</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsOther" scale="3" id="Tc_vr_6lYt1xECG9QMg8GblhQ_10_3">133</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsOther" sign="-" scale="3" id="Tc_kiDCu3YohE-sMwwWBYCFdg_10_6">220</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 12pt;">Total gross deferred income tax assets before valuation allowance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsGross" scale="3" id="Tc_Eor4zqwuX0CR1cTR28MeQQ_11_3">15,510</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsGross" scale="3" id="Tc_Mo1jLKZjykSTbe_V1gbJdg_11_6">14,483</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Valuation allowance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsValuationAllowance" scale="3" id="Tc_vTm2ZDSeI0aRJyN6x3x19g_12_3">13,769</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsValuationAllowance" scale="3" id="Tc_w4yY--WkU0iRKye-GUMalw_12_6">13,008</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 12pt;">Deferred income tax assets, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsNet" scale="3" id="Tc_m1Ktaw1gEUmcP95sdwyjoA_13_3">1,741</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsNet" scale="3" id="Tc_a7bfW8lsnUyZ2FtlGd0xqA_13_6">1,475</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 18pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Deferred income tax liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxLiabilitiesOther" scale="3" id="Tc_-3TV-4m7wEiEQwfWD3zv-A_16_3">22</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxLiabilitiesOther" scale="3" id="Tc_UkaAkUv2nUG1PKYv8905_Q_16_6">65</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 12pt;">Total deferred income tax liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxLiabilities" scale="3" id="Tc_OOr6MDNg2EycFhayz46cmw_17_3">22</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxLiabilities" scale="3" id="Tc_Gsi4W8kwd0SOe8CnXSmNDw_17_6">65</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 18pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Net deferred income tax assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsLiabilitiesNet" scale="3" id="Tc_-j6A4GpdCUyrlsUhxNEFAg_19_3">1,719</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsLiabilitiesNet" scale="3" id="Tc_NLopx-YvP0m0XW0jiBm2RA_19_6">1,410</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Net deferred income tax assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsNet" scale="3" id="Tc_F73IcURFSkOHRsrSCmf4ew_21_3">1,741</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsNet" scale="3" id="Tc_2prB8Ri3sE6m_Zmu9v6Zaw_21_6">1,475</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Net deferred income tax liability</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxLiabilities" scale="3" id="Tc_A15Fx8K1xUi1YRyjgTvU1Q_22_3">22</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxLiabilities" scale="3" id="Tc_01CaM2WwYUi4OJ76WAAFZw_22_6">65</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Net deferred income tax assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsLiabilitiesNet" scale="3" id="Tc_DLrRz-S-r0aZQigYuvna7A_24_3">1,719</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsLiabilitiesNet" scale="3" id="Tc_7RA1pxA3wEaa9qxGSLKmQQ_24_6">1,410</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-20</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 18pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">INNODATA&#160;INC. AND SUBSIDIARIES</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt 0pt 12pt 0pt;">YEARS ENDED DECEMBER 31, 2023 AND 2022</p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_394cdd51_6110_4c46_b54c_82e3fac17352"></a><a id="Tc_M9RPX654EEO_90KlHq1mVw_1_2"></a><a id="Tc_2OjCcGccW023SLdTwK3qmg_1_5"></a><a id="Tc_OsPtjz8jv0ORCh8EuL2kyA_2_0"></a><a id="Tc_OkGiwg7bf0iA3LknJmUMvA_2_2"></a><a id="Tc_MnPy8hwIcE6p0I9AP3MbZw_2_5"></a><a id="Tc_9fiiEH8rGkmYwSOkDBCbtQ_3_0"></a><a id="Tc_561aAkwUhkK0kMdC9Q3xvQ_4_0"></a><a id="Tc__ygvWZJWPU2qZyGVZinLNg_4_2"></a><a id="Tc_4QXhhCi_vEmqGpZvQZKsaA_4_5"></a><ix:continuation id="Tb_9LgPdSccL0ypxTmgWF2weA_cont2" continuedAt="Tb_9LgPdSccL0ypxTmgWF2weA_cont3"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">In assessing the realization of deferred tax assets, management considers whether it is more likely than not that all or some portion of the deferred tax assets will not be realizable. The ultimate realization of the deferred tax assets is dependent upon the generation of future taxable income during the periods in which temporary differences are deductible and net operating losses are available. As of December 31, 2023, the Company continues to maintain a valuation allowance on all of the Company&#8217;s United States, Canadian, German and United Kingdom subsidiaries&#8217; deferred tax assets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company maintained a valuation allowance of approximately $<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsValuationAllowance" scale="6" id="Narr_NMdHIbljmkKToTcpf2m1MQ">13.8</ix:nonFraction> million and $<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsValuationAllowance" scale="6" id="Narr_8r654qqMEUWPcv5lXdmm5w">13.0</ix:nonFraction> million as of December 31, 2023 and 2022, respectively. The valuation allowance relates to the United States, and the Company&#8217;s Canadian, German and the United Kingdom subsidiaries&#8217; deferred tax assets. The net change in the total valuation allowance was an increase of $<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount" scale="6" id="Narr_nmVvDUQrhEyIwMZ1p5WbQA">0.8</ix:nonFraction> million and $<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount" scale="6" id="Narr_3Cf9FNiEtE-b2JbFofTtuA">3.9</ix:nonFraction> million for the&#160;years ended December 31, 2023 and December 31, 2022, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Despite the access to the overseas earnings and the resulting toll charge, the Company intends to indefinitely reinvest the foreign earnings in our foreign subsidiaries on account of the foreign jurisdiction withholding tax that the Company has to incur on the actual remittances. Unremitted earnings of foreign subsidiaries amounted to approximately $<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:UndistributedEarningsOfForeignSubsidiaries" scale="6" id="Narr_adQNlA1xoEeiHlSAlTsy5g">50.4</ix:nonFraction> million at December 31, 2023. If such earnings are repatriated in the future, or are no longer deemed to be indefinitely reinvested, the Company would have to accrue the applicable amount of foreign jurisdiction withholding taxes associated with such remittances.</p><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" id="Tb_33_PFe8-9kO-Hfr6L4XZ5w" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">United States and foreign components of loss before provision for income taxes for each of the years ended December&#160;31, were as follows&#160;(in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:40%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:58.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:58.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;">    </b><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;">    </b><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:58.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" scale="3" id="Tc_Jb8Beo-E9ECPdKkMPnbLbQ_2_3">2,025</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" sign="-" scale="3" id="Tc_vpDS_1roj0iISH-zqC6lEg_2_6">4,023</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:58.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Foreign</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" sign="-" scale="3" id="Tc_EHTqRNPi806Z8pzYVwvDsA_3_3">1,886</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" sign="-" scale="3" id="Tc_xeFxU9uwY0WArxbJqxF9gQ_3_6">6,460</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:58.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Totals</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.67%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_4JdlFzrcTU244YHl6B56Qw_4_3">139</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.99%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" sign="-" scale="3" id="Tc_IqUN2dRgeEie_5c5x086KQ_4_6">10,483</ix:nonFraction>)</p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">At December 31, 2023, the Company had available U.S. federal net operating loss (NOL) carryforwards of approximately $<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_xJ-GY_vwXUCD4dgoexnKzg" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:OperatingLossCarryforwards" scale="6" id="Narr_4gTg4AFje0e0bmAMF5LMbA">21.2</ix:nonFraction> million and recognized research and development credits of approximately $<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_xJ-GY_vwXUCD4dgoexnKzg" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch" scale="6" id="Narr_gA4qsmrchkaCw_knVnZb4w">0.1</ix:nonFraction> million. These NOL carryforwards expire at various times from the year 2032 through the&#160;year 2035 and the research and development credit expires in 2043. The potential benefits from these balances have not been recognized for financial statement purposes.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Under the CARES Act, the Internal Revenue Code was amended to allow for federal NOL carrybacks for five years to offset previous years&#8217; taxable income or for the NOL to be carried forward indefinitely to offset 80% of taxable income for tax years 2021 and thereafter. As of the date the financial statements were issued, the state NOL carryforwards, if not utilized, will expire beginning in 2032.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">On December 31, 2023, the Company&#8217;s Canadian subsidiaries had available Canadian NOL carryforwards of approximately $<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_inod_CanadianSubsidiariesMember_FCfK_h6Wmky5ntCPvme4fQ" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration" scale="6" id="Narr_c8z9RxU8SEyDG0GDjxRMaA">27.0</ix:nonFraction> million that will begin to expire in 2036 and research and development credits of approximately $<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_inod_CanadianSubsidiariesMember_FCfK_h6Wmky5ntCPvme4fQ" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsNotSubjectToExpiration" scale="6" id="Narr_iIPzAiNuxEW9ovHTZ3l_tw">1.4</ix:nonFraction> million that have no expiry. The potential benefits from these balances have not been recognized for financial statement purposes.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">On December 31, 2023, the Company&#8217;s German and the United Kingdom subsidiaries had available NOL carryforwards of approximately $<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_inod_GermanAndUnitedKingdomSubsidiariesMember_QTB2moW3pkCwmlm8dntKtw" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:OperatingLossCarryforwards" scale="6" id="Narr_WZPYGpRDzESGllT0nzcb7g">1.7</ix:nonFraction> million. The potential benefits from these balances have not been recognized for financial statement purposes.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company had reserves for uncertain tax positions of $<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:UnrecognizedTaxBenefits" scale="6" id="Narr_Gp7ldZQCWUy05seh33f9sA">1.9</ix:nonFraction> million and $<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:UnrecognizedTaxBenefits" scale="6" id="Narr_pIDDE_oJjU6nNq7a0JNITw">1.7</ix:nonFraction> million as of December 31, 2023, and 2022, respectively, where the ultimate tax determination is uncertain due to complexities of tax laws. The increase in unrecognized tax benefits resulted from additional accruals for the current tax year. The Company expects that unrecognized tax benefits as of December 31, 2023 and December 31, 2022, if recognized, would have a material impact on the Company&#8217;s effective tax rate.</p></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-21</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 18pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">INNODATA&#160;INC. AND SUBSIDIARIES</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt 0pt 12pt 0pt;">YEARS ENDED DECEMBER 31, 2023 AND 2022</p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_ba7056e9_96a7_4dff_9f1b_12f6f8ab2cbe"></a><a id="Tc_O36Zt0zNukyU7tWivxUxfA_1_2"></a><a id="Tc_5XYhBi4QQEit_FEBOLf_iw_2_2"></a><a id="Tc_OY7qCoXFzkiiglEnCpTgDA_3_2"></a><a id="Tc_iF0C9tGd3kuxZbrsvG0Acw_4_2"></a><a id="Tc_mgttDAnTpECwiWV7D0yVvA_4_5"></a><a id="Tc_xIJyZrN09UWFG8b_4euiag_5_0"></a><a id="Tc_RmyzxdRxuE6jbEe6_sE6zA_5_2"></a><a id="Tc_POV2OGuN-UCqnNkzt_m7wQ_5_5"></a><a id="Tc_3CW35G0PRUOc-1jS_8D-mQ_6_0"></a><a id="Tc_de3UmWcbJUK3XfIGsi2G2g_7_0"></a><a id="Tc_w_l8QzI8VEuCwr4NT5Nwog_8_0"></a><a id="Tc_3P6ZANb5Ik-yvcwev6qxgA_9_0"></a><a id="Tc_4fjl-lRNQUSBWOyluzPajg_10_0"></a><a id="Tc_OXPtsQSc70Ca49Er3gJuzQ_10_2"></a><a id="Tc_zHOXTCuhgEeZtxq78Xhfmw_10_5"></a><ix:continuation id="Tb_9LgPdSccL0ypxTmgWF2weA_cont3" continuedAt="Tb_9LgPdSccL0ypxTmgWF2weA_cont4"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company is subject to Federal income tax, as well as income tax in various states and foreign jurisdictions. The Company has open tax years for U.S. Federal and state taxes from 2019 through 2023. Various foreign subsidiaries have open tax years from 2005 through 2022, some of which are under audit by local tax authorities. The Company believes that its accruals for uncertain tax positions as of December 31, 2023 under ASC 740, Income Taxes are adequate to cover the Company&#8217;s income tax exposures.</p><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" id="Tb_X0qwAWcsuUiWNuvO7YkAIw" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The following table represents a roll forward of the Company&#8217;s unrecognized tax benefits and associated interest for the&#160;years ended (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:50%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Unrecognized Tax </b></p></td></tr><tr><td style="vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Benefits</b></p></td></tr><tr><td style="vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:66.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance at January 1</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnrecognizedTaxBenefits" scale="3" id="Tc_VHKohRZU_kSIBZWR0i9EHg_5_3">1,680</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2021_LPWzI6J5HECBN2kqx3f4aQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnrecognizedTaxBenefits" scale="3" id="Tc_V0rQTO7LMkmsDpzEeT8pyA_5_6">1,753</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Decrease for prior year tax positions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" scale="3" id="Tc_FzT2InMhdU-R4HpVTaUb4g_6_3">68</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" scale="3" id="Tc_h5PiPvgmtU-JyWseuTiOQQ_6_6">290</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:66.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Increase for current year tax positions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions" scale="3" id="Tc_wxZQF8AQQU-BAwWHPzONeQ_7_3">247</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions" scale="3" id="Tc_xc6If8pPhE-IcZMjs_QXBw_7_6">311</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Interest accrual</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense" scale="3" id="Tc_VMqTPTIw2UupX3aQUzFuwQ_8_3">97</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense" scale="3" id="Tc_FNMSqUlfYEeOv-ZB1s1Tcg_8_6">67</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:66.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Foreign currency remeasurement</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="inod:UnrecognizedTaxBenefitsIncreaseDecreasesResultingFromForeignCurrencyTranslation" scale="3" id="Tc_-PIBzyIEbUuZcu_SO10wBQ_9_3">14</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="inod:UnrecognizedTaxBenefitsIncreaseDecreasesResultingFromForeignCurrencyTranslation" scale="3" id="Tc_GOAeDb87ikudoxl2AVpV-Q_9_6">161</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance at December 31</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnrecognizedTaxBenefits" scale="3" id="Tc_qCxE5JGX9k2iEVUUvN4Uhg_10_3">1,942</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:UnrecognizedTaxBenefits" scale="3" id="Tc_zBiJKTN1x0Cyov9vaTuxXg_10_6">1,680</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:italic;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Tax Assessments</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">In September&#160;2015, the Company&#8217;s Indian subsidiary was subject to an inquiry by the Service Tax Department in India regarding the classification of services provided by this subsidiary, asserting that the services provided by this subsidiary fall under the category of online information and database access or retrieval services (OID Services), and not under the category of business support services (BS Services) that are exempt from service tax as historically indicated in the subsidiary&#8217;s service tax filings. The Company disagrees with the Service Tax Department&#8217;s position. In November 2019, the Commissioner of Central Tax, GST &amp; Central Excise issued an order confirming the Service Tax Department&#8217;s position. The Company contested this order in an appeal to the Customs, Excise and Service Tax Appellate Tribunal and in January 2024 the Customs, Excise and Service Tax Appellate Tribunal ruled in the Company&#8217;s favor. In the event the Service Tax Department appeals this ruling and is ultimately successful in proving that the services fall under the category of OID Services, the revenues earned by the Company&#8217;s Indian subsidiary for the period July&#160;2012 through November&#160;2016 would be subject to a service tax of between <ix:nonFraction unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg" contextRef="Duration_9_1_2015_To_9_30_2015_srt_RangeAxis_srt_MinimumMember_-eLS3_HuOkeCrHwAx7hjPw" decimals="4" format="ixt:numdotdecimal" name="inod:PercentageForSubsidiaryServiceTax" scale="-2" id="Narr_xcA2ME89_UqI4G7LtgBw1g">12.36</ix:nonFraction>% and <ix:nonFraction unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg" contextRef="Duration_9_1_2015_To_9_30_2015_srt_RangeAxis_srt_MaximumMember_4XA3eW6BaUmV_t9ZghQpdA" decimals="2" format="ixt:numdotdecimal" name="inod:PercentageForSubsidiaryServiceTax" scale="-2" id="Narr_5bTSSMECs0-MJJdOQ5K_0g">15</ix:nonFraction>%, and this subsidiary may also be liable for interest and penalties. The revenues of the Company&#8217;s Indian subsidiary during this period was approximately $<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_9_1_2015_To_9_30_2015_WYjG5CShO0SYkZwTcduhiA" decimals="-5" format="ixt:numdotdecimal" name="inod:SubsidiaryRevenue" scale="6" id="Narr_aSRLm0reuEaRI-yHU1jYQg">56.0</ix:nonFraction> million. In accordance with new rules&#160;promulgated by the Service Tax Department, as of December&#160;1, 2016 service tax is no longer applicable to OID or BS Services. Based on the Company&#8217;s assessment in consultation with the Company&#8217;s tax counsel, the Company has not recorded any tax liability for this case.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">In a separate action relating to service tax refunds, in October 2016, the Company&#8217;s Indian subsidiary received notices from the Indian Service Tax Department in India seeking to reverse service tax refunds of approximately $<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_10_1_2016_To_10_31_2016_3W4g1vcmNEmrMg6_uGqOfQ" decimals="0" format="ixt:numdotdecimal" name="inod:ReversalOfServiceTaxRefund" scale="0" id="Narr_Qtq45uAojEuyy_wSl1FbTg">121,000</ix:nonFraction> previously granted to the Company&#8217;s Indian subsidiary for three quarters in 2014, asserting that the services provided by this subsidiary fall under the category of OID Services and not BS Services. The appeal was determined in favor of the Service Tax Department. The Company disagrees with the basis of this decision and is contesting it. The Company expects delays in its Indian subsidiary receiving further service tax refunds until this matter is adjudicated with finality, and currently has service tax credits of approximately $<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_10_31_2016_nJYF--Xc_U2SPEcPGZGJBg" decimals="-5" format="ixt:numdotdecimal" name="inod:ServiceTaxCreditReceivable" scale="6" id="Narr_Bh--qLWFckKZf-S8Ma8jtw">0.8</ix:nonFraction> million recorded as a receivable. Based on the Company&#8217;s assessment in consultation with the Company&#8217;s tax counsel, the Company has not recorded any tax liability for this case.</p></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-22</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 18pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">INNODATA&#160;INC. AND SUBSIDIARIES</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt 0pt 12pt 0pt;">YEARS ENDED DECEMBER 31, 2023 AND 2022</p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_9LgPdSccL0ypxTmgWF2weA_cont4"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Substantial recovery against the Company in the above referenced 2015 Service Tax Department case could have a material adverse impact on the Company, and unfavorable rulings or recoveries in other tax proceedings could have a material adverse impact on the consolidated operating results of the period (and subsequent periods) in which the rulings or recovery occurs.</p></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><a id="_e89bb71e_51e2_41c2_8078_ef83dc09af1e"></a><a id="Tc_2QZOVhSvB0OJNEdhrON_Sg_1_2"></a><a id="Tc_-JpkGfxDMUi1L50APgFpAw_2_2"></a><a id="Tc_8q1X4MZt-kqmqEJ99CJw6Q_2_5"></a><a id="Tc_1_5bZc2wLkmWlJxPT73aWg_4_0"></a><a id="Tc_KnllHKdtLkSC7SDdM0W6bA_4_2"></a><a id="Tc_VtaCQagE1Uec5CTX4GzN1w_4_5"></a><a id="Tc_Xx38kxdZHkaYnn4_t5EeKw_5_0"></a><a id="Tc_vEeCTTR0mEC3uMkTBgZydw_5_3"></a><a id="Tc_IcDT0ytYWkeD8j1cU1zAJg_6_0"></a><a id="Tc_0qkB07YC40WA8-AWYTajTQ_6_6"></a><a id="Tc_lEFjJlqHHE2cxvzR6P2j3g_8_0"></a><a id="Tc_iy9HLH9pmEm0DqdSU25Mow_9_0"></a><a id="Tc_lr_xLqkoW0uxG2Mopi-brQ_9_2"></a><a id="Tc_VCS-6BxMCEWksK_I7AwQyg_9_5"></a><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="inod:LongTermObligationsDisclosureTextBlock" id="Tb_2-K24zQPs0OYueO7h2zNig" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">7.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Long-term obligations</p><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="inod:LongTermObligationsDisclosureTableTextBlock" id="Tb_vYO1XAtEbEKRA5wmmEV7iQ" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Total long-term obligations as of December 31, 2023 and 2022 consisted of the following (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Pension obligations - accrued pension liability</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PostemploymentBenefitsLiabilityCurrentAndNoncurrent" scale="3" id="Tc_-hdEexO6t0myJVq983iAYg_4_3">7,128</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PostemploymentBenefitsLiabilityCurrentAndNoncurrent" scale="3" id="Tc_8R_KyXqyT0OUxuN5sCA4pw_4_6">5,906</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Settlement agreement </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="inod:SettlementAgreementObligations" scale="3" id="Tc_Vt2d2CTOJ0KKjE678_tAwQ_5_6">50</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Microsoft licenses <sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="inod:MicrosoftLicensesObligations" scale="3" id="Tc_vMo6wX5TvUOBc-Tntvndlw_6_3">911</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="inod:TotalLongTermObligations" scale="3" id="Tc_g_xs4f56QU6R89w2_fU3nw_7_3">8,039</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="inod:TotalLongTermObligations" scale="3" id="Tc_v6l_18vgXUa1AAv8EkDwsg_7_6">5,956</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Less: Current portion of long-term obligations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="inod:CurrentPortionOfLongTermObligations" scale="3" id="Tc_Xa2UVSjvMEiWsfzmvquBdg_8_3">1,261</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="inod:CurrentPortionOfLongTermObligations" scale="3" id="Tc_CQVP9RnzcEOihjR3FlOGVA_8_6">877</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Totals</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="inod:NoncurrentPortionOfLongTermObligations" scale="3" id="Tc_8UmsQDBbWk6Ir8MRTeefww_9_3">6,778</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="inod:NoncurrentPortionOfLongTermObligations" scale="3" id="Tc_3_fxLlcKDEahKPXCCKMrlQ_9_6">5,079</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0pt 115.2pt;"><span style="font-size:8pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 12pt 0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup> In March 2023, the Company renewed a vendor agreement to acquire certain additional software licenses, receive technical support and future software upgrades on software licenses through February 2026. Pursuant to this agreement, the Company is contractually liable to pay approximately $<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-5" format="ixt:numdotdecimal" name="inod:LicensesObligationsAmountPayableAnnually" scale="6" id="Narr_8_JgoNl5MEq2MApgqSgp1A">0.4</ix:nonFraction> million annually over the term of the agreement.</p></ix:nonNumeric></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="us-gaap:CommitmentsAndContingenciesDisclosureTextBlock" id="Tb_trtUtfhmGUGMn5_a0qEfrw" continuedAt="Tb_trtUtfhmGUGMn5_a0qEfrw_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">8.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Commitments and contingencies </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Litigation&#160;- </b>In 2008, a judgment was rendered in the Philippines against a Philippine subsidiary of the Company that is no longer active and purportedly also against Innodata&#160;Inc., in favor of certain former employees of the Philippine subsidiary. The potential payment amount aggregates to approximately $<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:LitigationReserve" scale="6" id="Narr_8un5B1R-O0SZ210boDoZdg">5.9</ix:nonFraction> million, <ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="inod:InterestRateDescriptionLitigation" id="Narr_RqGn4yXWmk-Z6rnbVHtLdw">plus legal interest that accrued at 12% per annum from August 13, 2008 to June 30, 2013, and thereafter accrued and continues to accrue at 6% per annum</ix:nonNumeric>. The potential payment amount as expressed in U.S. dollars varies with the Philippine peso to U.S. dollar exchange rate. In December&#160;2017, a group of 97 of the former employees of the Philippine subsidiary indicated that they proposed to record the judgment as to themselves in New Jersey. In January&#160;2018, in response to an action initiated by Innodata&#160;Inc., the United States District Court for the District of New Jersey (&#8220;USDC&#8221;) entered a preliminary injunction that enjoins these former employees from pursuing or seeking recognition or enforcement of the judgment against Innodata&#160;Inc. in the U.S. during the pendency of the action and until further order of the USDC. In June&#160;2018, the USDC entered a consent order administratively closing the action subject to return of the action to the active docket upon the written request of Innodata&#160;Inc. or the former employees, with the USDC retaining jurisdiction over the matter and the preliminary injunction remaining in full force and effect.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company is also subject to various other legal proceedings and claims that have arisen in the ordinary course of business.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">While management currently believes that the ultimate outcome of these proceedings will not have a material adverse effect on the Company&#8217;s consolidated financial position or overall trends in consolidated results of operations, litigation is subject to inherent uncertainties. Substantial recovery against the Company in the above-referenced Philippine action could have a material adverse impact on the Company, and unfavorable rulings or recoveries in the other proceedings could have a material adverse impact on the consolidated operating results in the period in which the ruling or recovery occurs. In addition, the Company&#8217;s estimate of the potential impact on the Company&#8217;s consolidated financial position or overall consolidated results of operations for the above referenced legal proceedings could change in the future.</p></ix:nonNumeric></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-23</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 18pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">INNODATA&#160;INC. AND SUBSIDIARIES</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt 0pt 12pt 0pt;">YEARS ENDED DECEMBER 31, 2023 AND 2022</p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_trtUtfhmGUGMn5_a0qEfrw_cont1"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company&#8217;s legal accruals related to legal proceedings and claims are based on the Company&#8217;s determination of whether or not a loss is probable. The Company reviews outstanding proceedings and claims with external counsel to assess probability and estimates of loss. The accruals are adjusted if necessary. While the Company intends to defend these matters vigorously, adverse outcomes that it estimates could reach approximately $<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:LitigationSettlementExpense" scale="0" id="Narr_OYBaPIf4aEqp1fcFqCAHeA">450,000</ix:nonFraction> in the aggregate beyond recorded amounts are reasonably possible. If circumstances change, the Company may be required to record adjustments that could be material to its reported consolidated financial condition and results of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Foreign Currency&#160;</b>- To the extent that the currencies of the Company&#8217;s production facilities located in the Philippines, India, Sri Lanka and Israel fluctuate, the Company is subject to risks of changing costs of production after pricing is established for certain customer projects. In addition, the Company is exposed to the risk of foreign currency fluctuation on the non-U.S. dollar denominated revenues, and on the monetary assets and liabilities held by its foreign subsidiaries that are denominated in local currency.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><b style="font-weight:bold;">Indemnifications&#160;</b>- The Company is obligated under certain circumstances to indemnify directors, officers and certain employees against costs and liabilities incurred in actions or threatened actions brought against such individuals because such individuals acted in the capacity of director, officer or fiduciary of the Company. In addition, the Company has contracts with certain customers pursuant to which the Company has agreed to indemnify the customer for certain specified and limited claims under such contract. These indemnification obligations occur in the ordinary course of business and, in many cases, do not include a limit on potential maximum future payments. As of December 31, 2023, the Company has not recorded a liability for any obligations arising as a result of these indemnification obligations.</p></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><a id="_e9798e11_bcae_4b3f_a49a_91fa6c5168e3"></a><a id="Tc_uQxLyciJe0WnYsO9-FF0ig_1_2"></a><a id="Tc_SgUOptbPnEWSpTW_3Yd8jA_2_2"></a><a id="Tc_UMyWGnJlTUKxTKZY-7EJgw_2_5"></a><a id="Tc_KrXd-WoRGUKSaRDyTahA-Q_4_0"></a><a id="Tc_-BgX7WTGXEm7wLAQ4AOmeA_4_2"></a><a id="Tc_jPcP_arziku_KHT4mYHO-w_4_5"></a><a id="Tc_ARvwRw3nSkGYTAdp7PeVYg_5_0"></a><a id="Tc_8dNaRWFqYk6oPjimydEP5Q_6_0"></a><a id="Tc_9ypuA1_tPEuX5j2DwwxDyQ_6_2"></a><a id="Tc_KxCWyRHf1Ea2gkCBMmk9Ug_6_5"></a><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="us-gaap:LesseeOperatingLeasesTextBlock" id="Tb_THag0Gf-wk-KHCxFRaGSag" continuedAt="Tb_THag0Gf-wk-KHCxFRaGSag_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">9.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Operating Leases</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company has various lease agreements for its offices and service delivery centers. The Company has determined that the risks and benefits related to the leased properties are retained by the lessors. Accordingly, these are accounted for as operating leases.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">These lease agreements are for terms ranging from <span style="-sec-ix-hidden:Hidden_e1fpDG-ap0y2l40728ofbQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">three</span></span> to <ix:nonNumeric contextRef="As_Of_12_31_2023_srt_RangeAxis_srt_MaximumMember_PIfZGM-P3EK34TOf7oCTgw" format="ixt-sec:durwordsen" name="us-gaap:LesseeOperatingLeaseTermOfContract" id="Narr_Pnrp3Bi_FU2RCGATIv01fA">eleven years</ix:nonNumeric> and, in most cases, provide for rental escalations ranging from <ix:nonFraction unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg" contextRef="Duration_1_1_2023_To_12_31_2023_srt_RangeAxis_srt_MinimumMember__WjpBOXPAEK2_4FlqeOGLg" decimals="4" format="ixt:numdotdecimal" name="inod:PercentageOfRentalEscalations" scale="-2" id="Narr_UjRCw2aXgEyStaoNYyYo4w">1.75</ix:nonFraction>% to <ix:nonFraction unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg" contextRef="Duration_1_1_2023_To_12_31_2023_srt_RangeAxis_srt_MaximumMember_siGZ1qI_hkWqxx2Z-aZmRg" decimals="2" format="ixt:numdotdecimal" name="inod:PercentageOfRentalEscalations" scale="-2" id="Narr_MPBkUKuTR02HLYHS4VdsDg">15</ix:nonFraction>%. Most of these agreements are renewable at the mutual consent of the parties to the contract.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company recognizes an operating lease liability and right-of-use asset in compliance with current lease accounting standard ASC 842. The amount of right-of use asset is equal to the present value of the remaining lease payments discounted using the incremental borrowing rate of each respective country. Modifications, if any are recalculated and corresponding adjustments are made to the carrying values of both the lease liability and right-of-use assets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">A right-of-use asset is measured as the amount of the lease liability adjusted for the amount of deferred straight-line rent, prepaid rent and lease incentive allowances previously recognized.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="inod:ScheduleOfOperatingLeaseExpenseRecognizedInFinancialStatementsTableTextBlock" id="Tb_EPw-KnTOPECTOO_OPM2Pyw" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The table below summarizes the amounts recognized in the financial statements related to operating leases for the years presented (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:70%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:51.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:19.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:51.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:45.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year&#160;Ended</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:21.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:21.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Rent expense for long-term operating leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_inod_LongTermOperatingLeaseMember_DXOfr4xtMU-oKVzTsYBrRw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseExpense" scale="3" id="Tc_IodTjJVVAk2d5BOvcoBzdQ_4_3">1,252</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_inod_LongTermOperatingLeaseMember_tBWogeeDH0qj_QiwQfDvLQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseExpense" scale="3" id="Tc_7APX-2kiNkGSw1C3tPxccg_4_6">1,336</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:51.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Rent expense for short-term leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_inod_ShortTermOperatingLeaseMember_x_QUpyv9IE-7cVpAPBGSdg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseExpense" scale="3" id="Tc_bRQTR6dD-ky5gzyC8aCAeA_5_3">305</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_inod_ShortTermOperatingLeaseMember_El57wvTweE6UylGYfiFmKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseExpense" scale="3" id="Tc_RlM3_Ok4ZU2rzYmDcFy0dQ_5_6">502</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:51.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Total rent expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseExpense" scale="3" id="Tc_RQhGJoXFFUyJEC7dGkqwjw_6_3">1,557</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.02%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseExpense" scale="3" id="Tc__u3W21rDqkucJkiDNeV5wg_6_6">1,838</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-24</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 18pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">INNODATA&#160;INC. AND SUBSIDIARIES</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt 0pt 12pt 0pt;">YEARS ENDED DECEMBER 31, 2023 AND 2022</p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_9b6db5aa_fd53_44ec_a928_2697152e731f"></a><a id="Tc_7KwqGxZkEESLjEs4PUS0iA_1_0"></a><a id="Tc_wE0ImZIwc0-ORONcKsnmJg_1_2"></a><a id="Tc_lOtQCn1EqUyoZOWCbkmKjw_3_0"></a><a id="Tc_y7XTVcw_4UeZnh9VtCOVdA_3_2"></a><a id="Tc_49I1Hj6wZ0KEYtA4EJzWYQ_4_0"></a><a id="Tc_ME_CJYqAMkGdZibI2hBkDA_5_0"></a><a id="Tc_bRl3s7afSkyiBSYAdcqrOg_6_0"></a><a id="Tc_YODhf1ika0ObDKj-16JDrA_7_0"></a><a id="Tc_0RITw0UEIUO26FVrl0sxww_8_0"></a><a id="Tc_mOUO4leAxU2zl6bI4H1Zew_9_0"></a><a id="Tc_M2OcMnSESkK-8RJPyWwjAQ_10_0"></a><a id="Tc_UGebbyABWU2uhB0sfJcvtg_11_0"></a><a id="Tc_0kuNcOtcVE62FE9Tp5FUTw_11_2"></a><a id="Tc_NQBJVRHv-kOHI4GHPhhEjQ_13_0"></a><a id="Tc_2f3UmGqKLkCLuo2q7AcDHA_13_2"></a><a id="Tc_LorXw6c7kEe3lQypZqwEug_14_0"></a><a id="Tc_lrQpZx5YjkWo3z8Hj77XTA_15_0"></a><a id="Tc_z1IzeLIU9ECey7KTI8m3og_15_2"></a><a id="_db827964_eb86_4f47_aa50_4e0b938d695a"></a><a id="Tc_L3solmLG9EOGO9rcIAiSlQ_1_0"></a><a id="Tc_aaAWjF5mvEeo1ZeSmsUCUQ_2_0"></a><ix:continuation id="Tb_THag0Gf-wk-KHCxFRaGSag_cont1"><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock" id="Tb_GZT41eErG0iAQiUK8D442g" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The following table presents the maturity profile of the Company&#8217;s operating lease liabilities based on the contractual undiscounted payments with a reconciliation of these amounts to the remaining net present value of the operating lease liability reported in the consolidated balance sheet as of December 31, 2023 (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:40%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:74.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:top;width:74.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Year</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:20.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</b></p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" scale="3" id="Tc_gdyt0ztC3UGB2NxOUr_2gQ_3_3">1,292</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" scale="3" id="Tc_q0oEhSCUE02LaVsQf8Q4jQ_4_3">1,316</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree" scale="3" id="Tc_QvjkfdfWCUm_8QBqqmXebA_5_3">1,348</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour" scale="3" id="Tc_LyDDQPrjsEae8crA_pcT3A_6_3">1,344</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2028</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive" scale="3" id="Tc_zN5eHVG3XU6uLPLGVsyBlQ_7_3">965</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2029 and thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="inod:LesseeOperatingLeaseLiabilityToBePaidThereafter" scale="3" id="Tc_JHAyDkRSnESOFAzxUt-_kw_8_3">869</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total lease payments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue" scale="3" id="Tc_glywoQ7NNkW-fKut4BoNjw_9_3">7,134</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Less: Interest</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" scale="3" id="Tc_6XNg6daRIk2R9cJGgeQ95A_10_3">1,651</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net present value of lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiability" scale="3" id="Tc_69V_vY0ZCkW518QNPGcTqQ_11_3">5,483</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Current portion</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityCurrent" scale="3" id="Tc_wd3DbznyXEmVl6nSAGIAsg_13_3">782</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Long-term portion</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityNoncurrent" scale="3" id="Tc_NmoWzh7uJ0WkOjGsl7KlwQ_14_3">4,701</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiability" scale="3" id="Tc_J6Ubjgn0IUuvG-zK2JUp7w_15_3">5,483</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="inod:ScheduleOfWeightedAverageRemainingLeaseTermsAndDiscountRatesTableTextBlock" id="Tb_jpGgPccM9ECw6Z15GULsrw" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The weighted average remaining lease terms and discount rates for all of our operating leases as of December 31, 2023 were as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:40%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:20.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Weighted-average lease term remaining</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><ix:nonNumeric contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" format="ixt-sec:durwordsen" name="us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1" id="Tc_bb6BQg9hekGvFBqRusNWlw_1_2"><span style="font-size:10pt;">63 months</span></ix:nonNumeric></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Weighted-average discount rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><ix:nonFraction unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="4" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent" scale="-2" id="Tc_N3Qpf40XE0-mbZ0nnFTNLg_2_2">9.45</ix:nonFraction>%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:1pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock" id="Tb_HhF5T6uKf0uXerk73kBaWg" continuedAt="Tb_HhF5T6uKf0uXerk73kBaWg_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">10.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Pension Benefits</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">U.S. Defined Contribution Pension Plan&#160;- </b>The Company has a defined contribution plan qualified under Section&#160;401(k)&#160;of the&#160;Internal&#160;Revenue&#160;Code, pursuant to which substantially all of its U.S. employees are eligible to participate after completing <ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" format="ixt-sec:durwordsen" name="inod:DefinedContributionPensionPlanPeriodOfServiceToBecomeEligible" id="Narr_0E5ruhx9tUOO2caMr6KHOA">six&#160;months</ix:nonNumeric> of service. Participants may elect to contribute a portion of their compensation to the plan. Under the plan, the Company has the discretion to match a portion of participants&#8217; contributions. For the&#160;years ended December 31, 2023 and 2022, the Company did not make any matching contributions.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Most of the non-U.S. subsidiaries provide for government-mandated defined pension benefits. For certain of these subsidiaries, vested eligible employees are provided a lump sum payment upon retiring from the Company at a defined age. The lump sum amount is based on the salary and tenure as of retirement date. Other non-U.S. subsidiaries provide for a lump sum payment to vested employees on retirement, death, incapacitation or termination of employment, based upon the salary and tenure as of the date employment ceases. The liability for such defined benefit obligations is determined and provided on the basis of actuarial valuations. As of December 31, 2023, these plans were unfunded. Pension expense for our foreign subsidiaries totaled approximately $<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_SubsidiariesMember_DFFEGF58rE6oeVOhMg0aNg" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:PensionExpense" scale="6" id="Narr_tv6GsJNrk0mGVdKczTMp2A">1.2</ix:nonFraction> million and $<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_SubsidiariesMember_EVm84t8OQkia1k5chZAOgA" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:PensionExpense" scale="6" id="Narr_YXk7XWcGdEmRbef9MCRAIQ">1.1</ix:nonFraction> million for the&#160;years ended December 31, 2023 and 2022, respectively.</p></ix:nonNumeric></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-25</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 18pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">INNODATA&#160;INC. AND SUBSIDIARIES</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt 0pt 12pt 0pt;">YEARS ENDED DECEMBER 31, 2023 AND 2022</p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_e8f8264d_8204_4ff7_8961_27b374b958d5"></a><a id="Tc_bMn6Dri-nEis7EZrcYLdWQ_1_2"></a><a id="Tc_fg7BnSsWUUWKjc--r5flKw_1_5"></a><a id="Tc_zgWb6wAD202DSS1mehUU-g_3_0"></a><a id="Tc_1iEtdDGWukO3gUH2c1QfIg_3_2"></a><a id="Tc_IWzvUq8b2k-MlKDUuy968Q_3_5"></a><a id="Tc_owQ_Mn4hzUqC4voNqC2NPw_4_0"></a><a id="Tc_RD9UPPoIkUGEB3M882JChQ_6_0"></a><a id="Tc_dZhsoep0kUufyGJYbJfKTg_7_0"></a><a id="Tc_xoLeEJDjMU6IFAakOnlLmg_8_0"></a><a id="Tc_nwvBK4y_U0GOlEThDwKCTA_8_3"></a><a id="Tc_x36g1a4fB0SuIx5qC4G_qw_9_0"></a><a id="Tc_B-ZrVZgb-UaMaucYZXIoHA_10_0"></a><a id="Tc_W2eSkqS1m06rGBUNGMrukw_10_2"></a><a id="Tc_C4mHWZotKEaX12P8yQ1gPA_10_5"></a><a id="Tc_C1hbWyVxnU6JCkCZeKbW4g_1_2"></a><a id="Tc_dYrk1elStEueN4WchI7JCw_1_5"></a><a id="Tc_6CrYK7ArwEuGWFY0OKqb4A_3_0"></a><a id="Tc_2o1XSnGN_EynNoy3Wp3DpA_3_2"></a><a id="Tc_pW3DpvxKc0ueaHXLKR30gA_3_5"></a><a id="Tc_EV9WL1nNCUmX1rmqiPUaAg_4_0"></a><a id="Tc_f9Dv6sLNcUW7iLJ_xwm1Yg_5_0"></a><a id="Tc_5YUyZiSpMk-Lbn_655Sqbw_5_3"></a><a id="Tc_5i23zPyRPUCx8gzrJx6rlg_7_0"></a><a id="Tc_GOSEjkyGW0i1g_VQttQT4g_7_2"></a><a id="Tc_Vq9GLxTfxkCQlTaQS-33Jw_7_5"></a><a id="Tc_jC4Uz7YwP0WnZerqVb4Dsw_1_2"></a><a id="Tc_rfsOtv0ttEK9D4cDjaT_bg_1_5"></a><a id="Tc_jKYhVY9XxUiBmthnWUTP-w_3_0"></a><a id="Tc__sXrbxAZtUifEOUDmpcd-w_3_2"></a><a id="Tc_MbqN5D9NnkGgU1lN--qEEw_3_5"></a><a id="Tc_11y9r-XaH0K-h4hSrAa6Fg_4_0"></a><a id="Tc_c3vtoFSsgEu_UHPgQ2A91w_5_0"></a><a id="Tc_v3xK120xWk68k1r-TTO3oA_5_2"></a><a id="Tc_I5Vhk6TDskWytUlnLRPsFw_5_5"></a><ix:continuation id="Tb_HhF5T6uKf0uXerk73kBaWg_cont1" continuedAt="Tb_HhF5T6uKf0uXerk73kBaWg_cont2"><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="us-gaap:ScheduleOfChangesInAccumulatedPostemploymentBenefitObligationsTableTextBlock" id="Tb_sTiV1SPRuUSWZYDGisIPYA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The following tables set out the status of the non-U.S. pension benefits and the amounts recognized in the Company&#8217;s consolidated financial statements and the components of pension costs for the years ended December 31, 2023 and 2022 were as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt;">Benefit Obligations:</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Projected benefit obligation at beginning of the year</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DefinedBenefitPlanBenefitObligation" scale="3" id="Tc_ZUbKpjo9qUCaJcXv3eyqKQ_3_3">5,906</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2021_LPWzI6J5HECBN2kqx3f4aQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DefinedBenefitPlanBenefitObligation" scale="3" id="Tc_XXI0-vkKTkqIruSY1Ys8Zw_3_6">6,839</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Service cost</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DefinedBenefitPlanServiceCost" scale="3" id="Tc_eKMKiwvG5kGKK_FWvn24OQ_4_3">568</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DefinedBenefitPlanServiceCost" scale="3" id="Tc_XFKlhqteek6RZV_sfGnfdQ_4_6">592</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="-sec-ix-hidden:Hidden_aQtP6P0A1kWD3BSZJhu5aw;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Interest cost</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DefinedBenefitPlanInterestCost" scale="3" id="Tc_h4ZIFXTEsk20R2uZslY-8w_5_3">478</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DefinedBenefitPlanInterestCost" scale="3" id="Tc_YtQwNKDkskyK6TIAFPrHaQ_5_6">352</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Actuarial loss (gain)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DefinedBenefitPlanActuarialGainLoss" sign="-" scale="3" id="Tc_KC5Cqh9lW0OzXhKRuj3xDA_6_3">324</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DefinedBenefitPlanActuarialGainLoss" scale="3" id="Tc_EMtoCOa9x0mOTuXeGLz4EA_6_6">713</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Foreign currency exchange rates changes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DefinedBenefitPlanPlanAssetsForeignCurrencyTranslationGainLoss" scale="3" id="Tc_lkUCMLwWj0eAm02RvakTkg_7_3">54</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DefinedBenefitPlanPlanAssetsForeignCurrencyTranslationGainLoss" sign="-" scale="3" id="Tc_Tzh9bZ7QI0aEMAAEqjfanA_7_6">862</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Curtailment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DefinedBenefitPlanCurtailments" sign="-" scale="3" id="Tc_V6WXrWJ-BEiqr737Lrl8rQ_8_6">48</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Benefits paid</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DefinedBenefitPlanBenefitObligationBenefitsPaid" scale="3" id="Tc_x0qsE6pSikCg2hwSHoWZjw_9_3">202</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DefinedBenefitPlanBenefitObligationBenefitsPaid" scale="3" id="Tc_mjsnHf-cyUie9SaIxX3P0w_9_6">254</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Projected benefit obligation at end of the year</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DefinedBenefitPlanBenefitObligation" scale="3" id="Tc_0uFCxR7l_U-tfQzizJbt5A_10_3">7,128</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DefinedBenefitPlanBenefitObligation" scale="3" id="Tc_vm-XaGXu-Eqs9Deigmloqw_10_6">5,906</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The Company incurred an actuarial loss of $<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:DefinedBenefitPlanActuarialGainLoss" sign="-" scale="6" id="Narr_GluCSZzxHUan1Es6OLwgFw">0.3</ix:nonFraction> million for the year ended December 31, 2023, and an actuarial gain of $<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:DefinedBenefitPlanActuarialGainLoss" scale="6" id="Narr_42WjtydTsE-oeIgn4TMF7A">0.7</ix:nonFraction> million for the year ended December 31, 2022. This was mainly due to changes in the discount rates used. Actuarial (gains) losses are recorded as part of other comprehensive income and are not reflected as part of net periodic pension cost.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt;">Components of Net Periodic Pension Cost:</p><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="us-gaap:ScheduleOfNetBenefitCostsTableTextBlock" id="Tb_y-v9r-1k-kakXo5Go1JlVg" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:40%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:60.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:60.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:60.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:60.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Service cost </p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DefinedBenefitPlanServiceCost" scale="3" id="Tc_I_XtDjQ9wUy5CejvL2zwnQ_3_3">568</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DefinedBenefitPlanServiceCost" scale="3" id="Tc_j4zTMDh6iUieiROtcX-V9w_3_6">592</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:60.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Interest cost </p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DefinedBenefitPlanInterestCost" scale="3" id="Tc_MhZ__4CmDkuIQInBgg5LmA_4_3">478</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DefinedBenefitPlanInterestCost" scale="3" id="Tc_Nmln9CDF_UOinL7m_AARLQ_4_6">352</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:60.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Curtailment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DefinedBenefitPlanRecognizedNetGainLossDueToCurtailments" scale="3" id="Tc_g3ANs58eXkS6hF-et5myJQ_5_6">16</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:60.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="-sec-ix-hidden:Hidden_de-PhSVLS0-kn7qLcGpriA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Actuarial loss recognized</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DefinedBenefitPlanActuarialGainLossImmediateRecognitionAsComponentInNetPeriodicBenefitCostCredit" sign="-" scale="3" id="Tc_vEUF_a3srEmvLr9Py49J-w_6_3">147</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DefinedBenefitPlanActuarialGainLossImmediateRecognitionAsComponentInNetPeriodicBenefitCostCredit" sign="-" scale="3" id="Tc_lY3Xj9t5AUG-i1H3l24n2w_6_6">210</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:60.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net periodic pension cost </p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.96%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost" scale="3" id="Tc_HzKEzbLq3EWgRedce0ErcQ_7_3">1,193</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.96%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost" scale="3" id="Tc_Tv05aQI4jUymrr8xmiImKg_7_6">1,138</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The accumulated benefit obligation, which represents benefits earned to date, was approximately $<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:DefinedBenefitPlanAccumulatedBenefitObligation" scale="6" id="Narr_4UrJU8HANkurBQjMfWm7oQ">3.9</ix:nonFraction> million and $<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:DefinedBenefitPlanAccumulatedBenefitObligation" scale="6" id="Narr_vKKVU-hU9UuAfSmMaFw-Rw">3.2</ix:nonFraction>&#160;million for each of the years ended December 31, 2023 and 2022.</p><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="us-gaap:ScheduleOfAmountsRecognizedInBalanceSheetTableTextBlock" id="Group_2eboXVrqCE67ROP8I6X8xg" continuedAt="Group_2eboXVrqCE67ROP8I6X8xg_2" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Amounts recognized in the consolidated balance sheets for the&#160;years ended December 31, 2023 and 2022 consisted of the following (in thousands):</p></ix:nonNumeric><ix:continuation id="Group_2eboXVrqCE67ROP8I6X8xg_2"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:45%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:64.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:64.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:64.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:64.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Current accrued benefit cost</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities" scale="3" id="Tc_5532kI3Hw0KOmYYplfWAkA_3_3">880</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities" scale="3" id="Tc_bO1O-EEpa0mqFnsL8AmhXg_3_6">828</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:64.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Non-current accrued benefit cost</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent" scale="3" id="Tc_5SCrYlydgEqvpaTJJNQJVg_4_3">6,248</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent" scale="3" id="Tc_xuCIan6KcU-hKsN8HQenKw_4_6">5,078</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:64.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total amount recognized</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.52%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesCurrentAndNoncurrent" scale="3" id="Tc_he7qHP5snUCXBYd2VccWZA_5_3">7,128</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.52%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesCurrentAndNoncurrent" scale="3" id="Tc_UGci74BajU6xE9Cwuj6Iog_5_6">5,906</ix:nonFraction></p></td></tr></table></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Current accrued benefit cost for pension benefits was included in the current portion of long-term obligations in the consolidated balance sheets. Non-current accrued benefit cost for pension benefits was included in long-term obligations, net of current portion, in the consolidated balance sheets.</p></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-26</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 18pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">INNODATA&#160;INC. AND SUBSIDIARIES</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt 0pt 12pt 0pt;">YEARS ENDED DECEMBER 31, 2023 AND 2022</p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_fa0b363d_5c2b_4577_98e8_f82b0a19c759"></a><a id="Tc_ccMpnstjD0-OwWfyzv4q5A_1_0"></a><a id="Tc_BDEbFYEaVUmDcuMjRcRIQQ_1_3"></a><a id="Tc_c20OzDBUOECmMN4PxlyjRw_3_0"></a><a id="Tc_od2_U7-Vc0KqZvmhKKr1YA_3_2"></a><a id="Tc_oTlGrSm5-kKX3BcvNDVIXg_4_0"></a><a id="Tc_RoM8uMcStUub6TFx-1XopA_5_0"></a><a id="Tc_3quYnlghRkaPzybel4m-zQ_6_0"></a><a id="Tc_ueuqezOsvUqCdTswjKTzyg_7_0"></a><a id="Tc_gAr1snJr5UGawCQGrIU1Mw_8_0"></a><a id="Tc_T0xB-DDIeEClmc057HijCg_9_2"></a><ix:continuation id="Tb_HhF5T6uKf0uXerk73kBaWg_cont2"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Actuarial assumptions for all non-U.S. plans are described below. The discount rates are used to measure the&#160;year-end benefit obligations and the earnings effects for the subsequent&#160;year. The assumptions for the&#160;years ended December 31, 2023 and 2022 were as follows:</p><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="us-gaap:ScheduleOfAssumptionsUsedTableTextBlock" id="Tb_dx762M_5hEGi6dEhy6FgyA" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:55%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:58.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:18.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:58.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:58.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Discount rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><ix:nonFraction unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg" contextRef="As_Of_12_31_2023_srt_RangeAxis_srt_MinimumMember_YmaTx6N9qEuCsBJuq0OvGw" decimals="4" format="ixt:numdotdecimal" name="us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate" scale="-2" id="Narr_Qj8QFcHFg0uuPuMhQZeR-g">6.73</ix:nonFraction>%-<ix:nonFraction unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg" contextRef="As_Of_12_31_2023_srt_RangeAxis_srt_MaximumMember_PIfZGM-P3EK34TOf7oCTgw" decimals="4" format="ixt:numdotdecimal" name="us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate" scale="-2" id="Narr_JX5lgWS9Qk2DywAT8vtPTw">12.8</ix:nonFraction>%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><ix:nonFraction unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg" contextRef="As_Of_12_31_2022_srt_RangeAxis_srt_MinimumMember_nGIL2e5ce024p70y-Q_Ycw" decimals="4" format="ixt:numdotdecimal" name="us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate" scale="-2" id="Narr_kzQLJPva00On0MLGEyfLvQ">5.13</ix:nonFraction>%-<ix:nonFraction unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg" contextRef="As_Of_12_31_2022_srt_RangeAxis_srt_MaximumMember_1QamParElEGLqoWNrgblfg" decimals="4" format="ixt:numdotdecimal" name="us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate" scale="-2" id="Narr_orNArdOBk0-_AnHkq1EkOg">20</ix:nonFraction>%</p></td></tr><tr><td style="vertical-align:bottom;width:58.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Rate of increase in compensation level</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><ix:nonFraction unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg" contextRef="As_Of_12_31_2023_srt_RangeAxis_srt_MinimumMember_YmaTx6N9qEuCsBJuq0OvGw" decimals="3" format="ixt:numdotdecimal" name="us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationRateOfCompensationIncrease" scale="-2" id="Narr_zcLbOR-n9kGggiBFmmZm9w">7.5</ix:nonFraction>%-<ix:nonFraction unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg" contextRef="As_Of_12_31_2023_srt_RangeAxis_srt_MaximumMember_PIfZGM-P3EK34TOf7oCTgw" decimals="3" format="ixt:numdotdecimal" name="us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationRateOfCompensationIncrease" scale="-2" id="Narr_NnKKdRPNXkeq4dgqmBLWdA">14.5</ix:nonFraction>%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><ix:nonFraction unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg" contextRef="As_Of_12_31_2022_srt_RangeAxis_srt_MinimumMember_nGIL2e5ce024p70y-Q_Ycw" decimals="3" format="ixt:numdotdecimal" name="us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationRateOfCompensationIncrease" scale="-2" id="Narr_PxYFXSsEzEetyT_LU-9_1A">7.5</ix:nonFraction>%-<ix:nonFraction unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg" contextRef="As_Of_12_31_2022_srt_RangeAxis_srt_MaximumMember_1QamParElEGLqoWNrgblfg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationRateOfCompensationIncrease" scale="-2" id="Narr_iPhGVo1eCkaVCYxzVAU5lQ">20</ix:nonFraction>%</p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">Estimated Future Benefit Payments:</p><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="us-gaap:ScheduleOfExpectedBenefitPaymentsTableTextBlock" id="Tb_aSYNrZObdkaPjm3BPI7otw" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">As of December 31, 2023, the following benefit payments, which reflect expected future service, as appropriate, were expected to be paid (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:40%;"><tr style="height:1pt;"><td style="vertical-align:top;width:75.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:top;white-space:nowrap;width:17.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:top;width:75.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Year</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:17.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amount</b></p></td></tr><tr><td style="vertical-align:bottom;width:75.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:75.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths" scale="3" id="Tc_A1n3SLGTVUerDDksX7zG4g_3_3">889</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:75.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsYearTwo" scale="3" id="Tc_FAUPcY2lrU-tlJm2nTAHGQ_4_3">431</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:75.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsYearThree" scale="3" id="Tc_x7j0QMZIv02qH6oqsEgRkQ_5_3">267</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:75.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFour" scale="3" id="Tc_w7aj-AC9wEywYJr7FdhVxg_6_3">749</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:75.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2028</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFive" scale="3" id="Tc_IWPTRlLcRkeLMJXukH2rQw_7_3">175</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:75.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2029 to 2032</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="inod:DefinedBenefitPlanExpectedFutureBenefitPaymentYearSixToYearNine" scale="3" id="Tc_UPgS8SOHbEqDqwazMQRwYA_8_3">5,108</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:75.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="inod:DefinedBenefitPlanExpectedFutureBenefitPayments" scale="3" id="Tc_nXdd8wrjg06bBxw7dwOpvA_9_3">7,619</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:1pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="us-gaap:StockholdersEquityNoteDisclosureTextBlock" id="Tb_XxqFVU0JVEWJ-NRoh9lc2g" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">11.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Capital Stock</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Common Stock&#160;- </b>The Company is authorized to issue <ix:nonFraction unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesAuthorized" scale="0" id="Narr_VsM17SKy9Ue_rZIemUaEHg"><ix:nonFraction unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesAuthorized" scale="0" id="Narr_oD0l-2L1BUi9qTxkKnGg7Q">75,000,000</ix:nonFraction></ix:nonFraction> shares of common stock. Each share of common stock has <ix:nonFraction unitRef="Unit_Divide_Vote_shares_Tei4HNwEo0userS1-1-JTg" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="0" format="ixt-sec:numwordsen" name="inod:NumberOfVotesForEachShareOfCommonStock" scale="0" id="Narr_JmaMhXtJVU-DwusgkBT5jA">one</ix:nonFraction> vote. Subject to preferences that may be applicable to any outstanding shares of preferred stock, the holders of common stock are entitled to receive ratably such dividends, if any, as may be declared by the Board of Directors. <ix:nonFraction unitRef="Unit_Divide_USD_shares_CsCIGYdPT06WFyu9y-PYzg" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:CommonStockDividendsPerShareDeclared" scale="0" id="Narr_X9OAM6iYkUqDPy1jCZasSw">No</ix:nonFraction> common stock dividends have been declared to date.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Preferred Stock&#160;- </b>The Company is authorized to issue <ix:nonFraction unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:PreferredStockSharesAuthorized" scale="0" id="Narr_suMm1HBotUS7ofiQnqObTg"><ix:nonFraction unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:PreferredStockSharesAuthorized" scale="0" id="Narr_LW8G2APc90SN0_mihrSTKQ">4,998,000</ix:nonFraction></ix:nonFraction> shares of preferred stock. The Board of Directors is authorized to fix the terms, rights, preferences and limitations of the preferred stock and to issue the preferred stock in series that differ as to their relative terms, rights, preferences and limitations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Common Stock Reserved&#160;- </b>As of December 31, 2023, the Company had available for future issuance <ix:nonFraction unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockCapitalSharesReservedForFutureIssuance" scale="0" id="Narr_O0b9yJ_190qpIUYx-tljUQ">1,981,406</ix:nonFraction> shares of common stock pursuant to the Company&#8217;s stock option plans.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><b style="font-weight:bold;">Treasury Stock&#160;-</b> In July 2019, the Company&#8217;s Board of Directors authorized the repurchase of up to $<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_7_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_DObil0Cd0kaw8yOhXhDDUQ" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:StockRepurchaseProgramAuthorizedAmount1" scale="6" id="Narr_gvzmQg5-80GlXfA7E_HGvA">2.0</ix:nonFraction> million of its common stock in open market or private transactions. There is no expiration date associated with the program. There were <ix:nonFraction unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_y6LH4FZyUU6spha9-bbn_A" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:StockRepurchasedDuringPeriodShares" scale="0" id="Narr_GBJ_-KBQQEWmdyHYWH8UVA"><ix:nonFraction unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_VWkoYgCEzEuN3t0z8mOTLQ" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:StockRepurchasedDuringPeriodShares" scale="0" id="Narr_rOi3mzAL5EGIInen4NmGsQ">no</ix:nonFraction></ix:nonFraction> share repurchases in the years ended December 31, 2023 and 2022. As of December 31, 2023, the Company repurchased <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_us-gaap_PlanNameAxis_inod_July2019Member_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_W4sF6Z6qyUa03x_b80ZQXQ" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:StockRepurchaseProgramAuthorizedAmount1" scale="6" id="Narr_oiTGuCZQkUOzxkLbKYPFfA">1.5</ix:nonFraction> million shares of its common stock under the July 2019 authorization with a value of $<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_S7Xu-iAocEyNWI82JzTqfA" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockCommonValue" scale="6" id="Narr_fK6aDzyZLkWB7-JQ0Bkynw">1.8</ix:nonFraction> million.</p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" id="Tb_ylH0MLV_t0ayCUYmElJ7tg" continuedAt="Tb_ylH0MLV_t0ayCUYmElJ7tg_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">12.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Stock Options</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Innodata Inc. 2013 Stock Plan (as amended, the &#8220;2013 Plan&#8221;) expired in accordance with its terms on June 3, 2023. Pursuant to the terms of the 2013 Plan, no further awards may be granted under the 2013 Plan following its expiration. As of December 31, 2023, there were <ix:nonFraction unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw" contextRef="As_Of_12_31_2023_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_HH5I-e_i2k6rTauI9dQ1nQ" decimals="INF" format="ixt:numdotdecimal" name="inod:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesUnderlyingOutstandingOptionsOrRights" scale="0" id="Narr_AJL8vFHptUGDTlAXPvk-Ug">5,567,966</ix:nonFraction> shares of our common stock underlying outstanding options or rights under the 2013 Plan. Outstanding awards made under the 2013 Plan prior to the 2013 Plan&#8217;s expiration will remain in effect until such awards have been satisfied or terminated in accordance with the terms of the 2013 Plan and such awards.</p></ix:nonNumeric></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-27</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 18pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">INNODATA&#160;INC. AND SUBSIDIARIES</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt 0pt 12pt 0pt;">YEARS ENDED DECEMBER 31, 2023 AND 2022</p></div><div style="clear:both;max-width:100%;position:relative;"><a id="Tc_jAHShpsGxkOUJ_Tc3HTrFg_1_2"></a><a id="Tc_cLe-rEnGvUOX3b2CcSYNdA_2_2"></a><a id="Tc_KHislWn7p0imxHfSA0Ljyg_2_5"></a><a id="Tc_fm274napFEmmw17TFIwbDw_4_0"></a><a id="Tc_0Ict4RbGF0qSiwEZX3JYNQ_4_2"></a><a id="Tc_9KlDaOrMRkioBD3ywVgIpg_4_5"></a><a id="Tc_wnnGpW--50eQZxiU4D_I1Q_5_0"></a><a id="Tc_XxT9k9anI0GcAt3OCspyDg_5_4"></a><a id="Tc_jCb-LUfe1ki3tqcu5HsxVQ_5_6"></a><a id="Tc_6P9z0GmuyE25PjUmK5keCA_5_7"></a><a id="Tc_4Haf4ETWzUKOoneJnkoPhg_6_0"></a><a id="Tc_qx8t7pL8Sk-uqCVHWp_zDA_6_6"></a><a id="Tc_22fUzDlaBU6uH_r0cFP76Q_7_0"></a><a id="Tc_N5BI0wcutkaoMz-gIupehg_7_4"></a><a id="Tc_c7MdntQUvUi8KhYK6VChVQ_7_6"></a><a id="Tc_ZDrnMH69FEKinMxEd4MVBQ_7_7"></a><a id="Tc_V8oJZ7-dEki1vGNDNoqbZg_8_0"></a><a id="Tc_HDSkKqv1CkSkh7hViFgIeQ_8_3"></a><a id="Tc_QzjFUSfatEal0GDjCzvpgg_8_6"></a><ix:continuation id="Tb_ylH0MLV_t0ayCUYmElJ7tg_cont1" continuedAt="Tb_ylH0MLV_t0ayCUYmElJ7tg_cont2"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">On June 9, 2022, stockholders of the Company approved amendments to the Innodata Inc. 2021 Equity Compensation Plan (as amended, the &#8220;2021 Plan&#8221;). The number of shares of common stock of Innodata Inc. that may be delivered, purchased or used for reference purposes (with respect to stock appreciation rights or stock units) for awards granted under the 2021 Plan is <ix:nonFraction unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw" contextRef="As_Of_6_9_2022_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_JCHZ8nRusU6QD_8W_z81hQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" scale="0" id="Narr_rjewH3GE_kWIggcQoLXdKw">4,000,000</ix:nonFraction> (the &#8220;Share Reserve&#8221;). Shares subject to an option or stock appreciation right granted under the 2021 Plan count against the Share Reserve as <ix:nonFraction unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg" contextRef="As_Of_6_9_2022_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_JCHZ8nRusU6QD_8W_z81hQ" decimals="0" format="ixt-sec:numwordsen" name="inod:ReservationOfSharesSubjectToOptionOrStockAppreciationRightsGrantedRatio" scale="0" id="Narr_f-NhNLqa9EqnL-5s35FNng">one</ix:nonFraction> share for every share granted, and shares subject to any other type of award granted under the <span style="-sec-ix-hidden:Hidden__ctoI4xhnE-wozOg_pPFdA;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">2021</span></span> Plan count against the Share Reserve as <ix:nonFraction unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg" contextRef="As_Of_6_9_2022_us-gaap_PlanNameAxis_inod_AwardsGrantedPriorToApril112022Member_wMCt5JSWAkWsSxylLqjJdA" decimals="0" format="ixt-sec:numwordsen" name="inod:ReservationOfSharesSubjectToOptionOrStockAppreciationRightsGrantedRatio" scale="0" id="Narr_WrbVFQZErEKxEJrqO4UVjg">two</ix:nonFraction> shares for every share granted for awards granted prior to April 11, 2022, and <span style="-sec-ix-hidden:Hidden_HRVvmxM3skOkjfdZH6FqLA;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">one</span></span> and a half shares for every share granted for awards granted on or after April 11, 2022. Any shares withheld, tendered or exchanged by a participant in the 2021 Plan as full or partial payment to Innodata of the exercise price under an option under the 2021 Plan or in satisfaction of a participant&#8217;s tax withholding obligations with respect to any award under the 2021 Plan, will not be added back to the Share Reserve.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The fair value of stock options is estimated on the date of grant using the Black-Scholes option pricing model. The weighted-average fair value of the options granted, and weighted-average assumptions were as follows:</p><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" id="Tb_QA72gbybPUiNU3zHRqzooQ" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:70%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:54.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:54.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:40.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">For&#160;the&#160;Years&#160;Ended&#160;December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:54.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:54.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:54.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Weighted average fair value of options granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_CsCIGYdPT06WFyu9y-PYzg" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_LvKkDDcU8U2445y8aZ9qYw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="Tc_srDS9vo1GECffXhIze2aGg_4_3">2.56</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_CsCIGYdPT06WFyu9y-PYzg" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_xYlmmjRk5EC3kv0aujSB-g" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="Tc_WPfJ6e_YoU6XO8T3KfVgpw_4_6">2.67</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:54.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Risk-free interest rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_LvKkDDcU8U2445y8aZ9qYw" decimals="4" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" scale="-2" id="Tc_Igw_wISQuEa8Ojtcn1XhAA_5_3">4.34</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><ix:nonFraction unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg" contextRef="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MinimumMember_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_3AmCVRd9KEy7rbq1vGpqvA" decimals="4" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" scale="-2" id="Narr_8QajANeFgEKw5qjREFr40w">1.94</ix:nonFraction>% - <ix:nonFraction unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg" contextRef="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MaximumMember_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_3Pm8X4SEh0iGRRik8CFddQ" decimals="4" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" scale="-2" id="Narr_2fW2TehKsUetdmzm51d_gw">4.09</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:54.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Expected term (years)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_LvKkDDcU8U2445y8aZ9qYw" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" id="Tc_TVt1y2-dnk-smCzFC9hEVQ_6_3"><span style="font-size:10pt;"> 6.0</span></ix:nonNumeric></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MinimumMember_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_3AmCVRd9KEy7rbq1vGpqvA" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" id="Narr_OoWT-LzAxUKi6SKKhlipfg"><span style="font-size:10pt;">3</span></ix:nonNumeric><span style="font-size:10pt;">-</span><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MaximumMember_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_3Pm8X4SEh0iGRRik8CFddQ" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" id="Narr_pb4FQgsHg0qJC-zxoIu5IA"><span style="font-size:10pt;">6.42</span></ix:nonNumeric></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:54.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Expected volatility factor</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_LvKkDDcU8U2445y8aZ9qYw" decimals="4" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" scale="-2" id="Tc_x-pPFS0KpUWWHMbIOV0rxA_7_3">75.35</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><ix:nonFraction unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg" contextRef="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MinimumMember_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_3AmCVRd9KEy7rbq1vGpqvA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" scale="-2" id="Narr_AGJx4Iqp3U6Rr7n512OjHQ">62</ix:nonFraction>%-<ix:nonFraction unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg" contextRef="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MaximumMember_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_3Pm8X4SEh0iGRRik8CFddQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" scale="-2" id="Narr_dDEqUxf2SEmueChZiF-cBw">79</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:54.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Expected dividends</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_LvKkDDcU8U2445y8aZ9qYw" decimals="2" format="ixt-sec:numwordsen" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" scale="-2" id="Narr_lrBL6hFIMEWOnEahGMmO7w">None</ix:nonFraction> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_xYlmmjRk5EC3kv0aujSB-g" decimals="2" format="ixt-sec:numwordsen" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" scale="-2" id="Narr_YmU8Bah-fUCcFmhgtkYfDA">None</ix:nonFraction> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company estimates the risk-free interest rate using the U.S. Treasury yield curve for periods equal to the expected term of the options in effect at the time of grant. The expected term of options granted is based on a combination of vesting schedules, term of the options and historical experience. Expected volatility is based on the historical volatility of the Company&#8217;s common stock. The Company uses an expected dividend yield of <ix:nonFraction unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_LvKkDDcU8U2445y8aZ9qYw" decimals="2" format="ixt-sec:numwordsen" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" scale="-2" id="Narr_JzuB3oNw9UaQw_EuUY9BqA">zero</ix:nonFraction> since it has never declared or paid any dividends on its capital stock.</p></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-28</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 18pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">INNODATA&#160;INC. AND SUBSIDIARIES</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt 0pt 12pt 0pt;">YEARS ENDED DECEMBER 31, 2023 AND 2022</p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_6ce32d92_3f24_4df1_9a2e_ea54d1a09b08"></a><a id="Tc_QP7v22xo4E6AdJ_0WHQrNw_1_7"></a><a id="Tc_qldJaO3q60qxVV5hIqE4XA_2_4"></a><a id="Tc_TyLftsESV0Kfjxn38a5-Gw_2_7"></a><a id="Tc_ZvefvDzC-EqK8xqiZ37hfQ_3_2"></a><a id="Tc_bg3bGFGFa06GdDRUf600Sg_3_4"></a><a id="Tc_7MkG0InPOke_UbtDHEPKSA_3_7"></a><a id="Tc_7INZN5qBr0ea9YdsPunhug_3_9"></a><a id="Tc_1SPh9S4pS0OcjN25C4nWmA_4_2"></a><a id="Tc_ogL1mis1CkSCp0hduYpkcA_4_4"></a><a id="Tc_6mc7VjZtIkW8uSCj6F4rSA_4_7"></a><a id="Tc__vB3KZhT7EaiF1mqDafvcA_4_9"></a><a id="Tc_9i-cNLwjmk2fSJ3X3hN6hQ_5_0"></a><a id="Tc_eMDjsJ6ndkyGh0uuKz2t8w_5_4"></a><a id="Tc_8pRydJb6zEOQ-EltmVE1ZA_6_0"></a><a id="Tc_VJZz88UsR0WvVMNFMxQq4Q_7_0"></a><a id="Tc_5c4dGDwg50q2LqCUjquQdQ_8_0"></a><a id="Tc_aV8Wi7PJGUuNxtNyK0-ngw_9_0"></a><a id="Tc_3sxRfO9hS0KbEED7A4aZUg_9_4"></a><a id="Tc_qNQNrfqYlEGk-XoAVVOuig_9_9"></a><a id="Tc_7kB64bebIki5P7AKqRP1Gg_10_0"></a><a id="Tc_ellF1WUAVkyjXaf7Nl9qnA_11_0"></a><a id="Tc_ERKTu_Cr70qBJ91dPSG9fw_12_0"></a><a id="Tc_7nj2YkE8oEOIOVDgXanVOQ_13_0"></a><a id="Tc_2KL-5DrpbkSsdWIXdibuhQ_13_4"></a><a id="Tc_Q4vnd1bm6Eq8G-B8c-n2-A_13_9"></a><a id="Tc_lFLOgHCp4EOhy54GTgVBzw_15_0"></a><a id="Tc_mn5MlGQqj0-yAto-d30bQQ_15_4"></a><a id="Tc_RpCsacKacUmhi1zfCPkkEA_15_9"></a><a id="Tc_pAipnlL4xkKC4q_jr2Xmrg_17_0"></a><a id="Tc_iYS5BktLdU6VeP7qwxQxPg_17_4"></a><a id="Tc_YpFJoX7r5k-n0cECuHmQug_17_9"></a><ix:continuation id="Tb_ylH0MLV_t0ayCUYmElJ7tg_cont2" continuedAt="Tb_ylH0MLV_t0ayCUYmElJ7tg_cont3"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">Stock Options</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">2013 Plan</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">A summary of stock option activity under the Innodata Inc. 2013 Stock Plan, as amended and restated effective June 7, 2016 (the &#8220;2013 Plan&#8221;) and changes during each of the years ended December 31, 2023 and 2022 are presented below. </p><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_PlanNameAxis_inod_EquityPlansMember_8-gjq0qjNkifVmyU2oIfwg" name="us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" id="Group_p5BwgQFJ_kixpLBFbY5aQQ" continuedAt="Group_p5BwgQFJ_kixpLBFbY5aQQ_2" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:41.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:41.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted-Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted&#160;-Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Remaining</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Number&#160;of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Exercise</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Contractual&#160;Term</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Aggregate</b></p></td></tr><tr><td style="vertical-align:bottom;width:41.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Options</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(years)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Intrinsic&#160;Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:41.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Outstanding at January 1, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw" contextRef="As_Of_12_31_2021_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_B96TBqTFKEaluYlXpr5q7w" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" scale="0" id="Tc_7ZhmPTZbzk2TeiH1TKS20g_5_2">5,536,896</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_CsCIGYdPT06WFyu9y-PYzg" contextRef="As_Of_12_31_2021_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_B96TBqTFKEaluYlXpr5q7w" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" scale="0" id="Tc_2UjNQo6DUkSMTSRfXJZpOg_5_5">2.66</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_zSOyWwkuIk6SeJ-OjpNoVw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" scale="0" id="Tc_2BxqrMPtKUGQvLMcLAXirA_6_2">1,774,558</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_CsCIGYdPT06WFyu9y-PYzg" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_zSOyWwkuIk6SeJ-OjpNoVw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" scale="0" id="Tc_Fjx63qYioUCUD__bpcABCQ_6_5">4.91</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Exercised</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_zSOyWwkuIk6SeJ-OjpNoVw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="0" id="Tc_bQJ0XVA090m6wrYiV_9I2w_7_2">248,763</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_CsCIGYdPT06WFyu9y-PYzg" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_zSOyWwkuIk6SeJ-OjpNoVw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" scale="0" id="Tc_OQ4rhvDWEEiRVeH44K3bfg_7_5">1.34</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Forfeited/Expired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_zSOyWwkuIk6SeJ-OjpNoVw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" scale="0" id="Tc_ddGSVVd2BEmVpvQcy_GIgQ_8_2">372,201</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_CsCIGYdPT06WFyu9y-PYzg" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_zSOyWwkuIk6SeJ-OjpNoVw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" scale="0" id="Tc_ksvXyhbEGE6QXvtoO5m1oQ_8_5">6.55</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Outstanding at December 31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw" contextRef="As_Of_12_31_2022_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_zYDg2tq3n0Oc7toZz_J8Rg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" scale="0" id="Tc_NnxpoClMDEa1wQrlpmpeaA_9_2">6,690,490</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_CsCIGYdPT06WFyu9y-PYzg" contextRef="As_Of_12_31_2022_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_zYDg2tq3n0Oc7toZz_J8Rg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" scale="0" id="Tc_PXFU4gE400igyIjMBYPfag_9_5">3.09</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_zSOyWwkuIk6SeJ-OjpNoVw" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" id="Tc_dEq62MBtNUCjNA4jWpMVhw_9_7"><span style="font-size:10pt;"> 7.19</span></ix:nonNumeric></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_zYDg2tq3n0Oc7toZz_J8Rg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" scale="0" id="Tc_ZGReJJkpBEqEvueR4aAIRQ_9_10">5,989,709</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:41.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Granted*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_E6JzJkGs60iVwm0NiLkEFw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" scale="0" id="Tc_Qu1SlIR6mUqnbhnCZ3myhw_10_2">25,000</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_CsCIGYdPT06WFyu9y-PYzg" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_E6JzJkGs60iVwm0NiLkEFw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" scale="0" id="Tc_KKyPUvB4DECmSnQYpKlxfQ_10_5">3.31</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Exercised</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_E6JzJkGs60iVwm0NiLkEFw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="0" id="Tc_kd-6zeBztUKXJxGTUNbzKg_11_2">1,287,462</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_CsCIGYdPT06WFyu9y-PYzg" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_E6JzJkGs60iVwm0NiLkEFw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" scale="0" id="Tc_b520YGhMmUSt5kC5Y-fH1w_11_5">2.37</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Forfeited/Expired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_E6JzJkGs60iVwm0NiLkEFw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" scale="0" id="Tc_s0EOHy_UEE-1EZVl-TLuQg_12_2">88,866</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_CsCIGYdPT06WFyu9y-PYzg" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_E6JzJkGs60iVwm0NiLkEFw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" scale="0" id="Tc_rqemBGI1-UmC22iLRR-yOg_12_5">6.27</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Outstanding at December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw" contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_uMKO-Xvs5Em3U_KvkoJlBw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" scale="0" id="Tc_9NNrNZPSy0KDd7QzJCNSqA_13_2">5,339,162</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_CsCIGYdPT06WFyu9y-PYzg" contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_uMKO-Xvs5Em3U_KvkoJlBw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" scale="0" id="Tc_QahTD8u_oEq6rc_7iEu0Fw_13_5">3.22</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_E6JzJkGs60iVwm0NiLkEFw" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" id="Tc_VUWS6iOoM0OrZ7JQ5sq20Q_13_7"><span style="font-size:10pt;"> 6.38</span></ix:nonNumeric></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_uMKO-Xvs5Em3U_KvkoJlBw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" scale="0" id="Tc_Im8U2n6m_UaH6Hi2ciI7VA_13_10">28,640,009</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:41.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Exercisable at December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw" contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_uMKO-Xvs5Em3U_KvkoJlBw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" scale="0" id="Tc_OyuPZr1LDEijvrwk2gX4uA_15_2">3,475,780</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_CsCIGYdPT06WFyu9y-PYzg" contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_uMKO-Xvs5Em3U_KvkoJlBw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" scale="0" id="Tc_Sl5kENtBYUKQvF7csIMyAQ_15_5">2.18</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_E6JzJkGs60iVwm0NiLkEFw" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" id="Tc_v-N7XA4ix0q1bikz1pt7rw_15_7"><span style="font-size:10pt;"> 6.40</span></ix:nonNumeric></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_uMKO-Xvs5Em3U_KvkoJlBw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" scale="0" id="Tc_LzGRbTtdy0-dnr2g7octYQ_15_10">22,237,334</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:41.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Vested and Expected to Vest at December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw" contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_uMKO-Xvs5Em3U_KvkoJlBw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" scale="0" id="Tc_q0eM89a1oUWlOZjxUD3q7w_17_2">5,339,162</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_CsCIGYdPT06WFyu9y-PYzg" contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_uMKO-Xvs5Em3U_KvkoJlBw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" scale="0" id="Tc_20EKbH8Vg0CRAsRXw5tHeg_17_5">3.22</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_E6JzJkGs60iVwm0NiLkEFw" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" id="Tc_DQ_RhGUOV0icsI7x-q7I1g_17_7"><span style="font-size:10pt;"> 6.38</span></ix:nonNumeric></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_uMKO-Xvs5Em3U_KvkoJlBw" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" scale="0" id="Tc_QCEWjJUmokKVgoU6IWq3LA_17_10">28,640,009</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:justify;text-indent:0pt;margin:0pt;"><i style="font-style:italic;">* Includes </i><i style="font-style:italic;"><ix:nonFraction unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw" contextRef="Duration_1_1_2023_To_12_31_2023_srt_TitleOfIndividualAxis_srt_DirectorMember_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_wseCkmiACUS8SZkKg14hiw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" scale="0" id="Narr_11VyNN6pLEWPBQ1_RzJ_6g">25,000</ix:nonFraction></i><i style="font-style:italic;"> stock options granted to a non-employee member of the Company&#8217;s advisory board.</i></p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-29</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 18pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">INNODATA&#160;INC. AND SUBSIDIARIES</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt 0pt 12pt 0pt;">YEARS ENDED DECEMBER 31, 2023 AND 2022</p></div><div style="clear:both;max-width:100%;position:relative;"><a id="Tc_vrOmIerX5k6QNQ2QWJKHfQ_1_7"></a><a id="Tc_4FC8rEWGgEag4-kuo7JmqA_2_4"></a><a id="Tc_zI-gfPqr3kO5l3aQrGQh8w_2_7"></a><a id="Tc_NJNcSHbUK0a13IvBKtmdtA_3_4"></a><a id="Tc_dUpz_HbSMUuGBAerR1coOw_3_7"></a><a id="Tc_GvSMOZY20U2CWKdaTZi0Iw_3_9"></a><a id="Tc_Dl6bc0giVUC7GnYUdGGdFQ_4_2"></a><a id="Tc_FkbzPB7ZZUiTJyszMHDsFw_4_4"></a><a id="Tc_YjZV2aaKJ0i25GIKtdxZ9g_4_7"></a><a id="Tc_9X6elLdGcE--OEqCAwIypA_4_9"></a><a id="Tc_aFJcS32k_UuUgbhyD3JOfg_5_2"></a><a id="Tc_RiEN3Z4KcEiLMEDsJle6eQ_5_4"></a><a id="Tc_YYuWC-CyPUaCKrrvXpaLYQ_5_7"></a><a id="Tc_NyzCijDRFEyxcwWIPY952g_5_9"></a><a id="Tc_KrUDEb5fzEmKWFAX6DSN1A_7_0"></a><a id="Tc_aw4-JEjGI06ufgH7mfUj-A_7_2"></a><a id="Tc_Xj3GIx2QVU2BwWYjBgcS-w_7_4"></a><a id="Tc_SqrUHEiG50uLVn6ctUJUtg_7_5"></a><a id="Tc_ov9yLWiXHkCnACTNA1_A0Q_8_0"></a><a id="Tc_LhX-sljHuEak6jQEmAFc4Q_9_0"></a><a id="Tc_6yiEjvttkEOhviMQes3TfA_9_2"></a><a id="Tc_5cpZpyY7DkSzU4zV5JjPmg_9_5"></a><a id="Tc_gqmaTjOX-UCGSPaJYncaRA_10_0"></a><a id="Tc_9m5DmTXAf0KIxHciDXvIlg_11_0"></a><a id="Tc_eYvPbXntv0yK97nvKqz5Rg_11_4"></a><a id="Tc_7yYfTg4VhUS9BYvy5ReqJw_11_9"></a><a id="Tc_CLNyXKGvYEioCo73ASl1Xg_11_10"></a><a id="Tc_96xrAx0F6UKdQx1Ti--UFg_12_0"></a><a id="Tc_9226DsKTJ06vZ-ffGauC2g_13_0"></a><a id="Tc_HHFnBVTWYU6rDLp3bmdOBQ_14_0"></a><a id="Tc_MyqsovUEj0eBrPiPFqDHJw_15_0"></a><a id="Tc_Va3yJCb6mkqqOP838DnG0A_15_4"></a><a id="Tc_Qr6HG3lNuk-EPMUzxV_--w_15_9"></a><a id="Tc_G6b8mslmo06l5wLr7mKRsw_17_0"></a><a id="Tc_2teYsVV4DkqKN1RasU1HGw_17_4"></a><a id="Tc_2SfkgB9fMUy4XTGpGRduQA_17_9"></a><a id="Tc_kPnrSQHFCE2LHMFdRM4wYA_19_0"></a><a id="Tc__CoPh4FsrkSMaPhgHQfi3Q_19_4"></a><a id="Tc_uVxh1MPMrkadG5bvZJaUCQ_19_9"></a><a id="Tc_AT4-R9hDB02yYJT4xFYFXA_1_4"></a><a id="Tc_gJ4hPF0dhUSvr30litUYfw_2_2"></a><a id="Tc_CvQcayQ8GEuBa3MYDe9kcg_2_4"></a><a id="Tc_avEsIUmHNkyDYZ6dgcW2PQ_3_2"></a><a id="Tc_lYaTyRmM6Ee56yW_hWwuYw_3_4"></a><a id="Tc_O7qahnitB0W5SWUctpfLkg_4_2"></a><a id="Tc_3DVexoClvUCqt-vHgREdSw_4_4"></a><a id="Tc_y3GGg29kb0q3wAL0rL8bdw_6_0"></a><a id="Tc_puUIhQHeFEWanULjjzfORA_6_4"></a><a id="Tc_YDZEf0a_AU6sLnbCJZ8AgQ_7_0"></a><a id="Tc_tIrvDV5Ue0y6wl1f9FqZQg_8_0"></a><a id="Tc_jNGQNgVV40urLab4y9Fhvg_8_2"></a><a id="Tc_1jp9L0uEDUm0CxhoDe_ddA_8_5"></a><a id="Tc_AmAh84NK7UW2ckogZrVboA_9_0"></a><a id="Tc_n0U_BeDWLkGKzSPjtMfQxA_9_2"></a><a id="Tc_XfKor-SZi0aHfHkUUhNUzw_9_5"></a><a id="Tc_xxV2xnIN1UO49yEUEkRBWQ_10_0"></a><a id="Tc__hanHI_2xkSRdWEcv-UIpQ_10_4"></a><ix:continuation id="Tb_ylH0MLV_t0ayCUYmElJ7tg_cont3" continuedAt="Tb_ylH0MLV_t0ayCUYmElJ7tg_cont4"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><i style="font-style:italic;">2021 Plan</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">A summary of option activity under the Innodata Inc. 2021 Equity Compensation Plan, as amended and restated effective as of April 11, 2022 (the &#8220;2021 Plan&#8221;) and changes during each of the years ended December 31, 2023 and 2022 are presented below. </p><ix:continuation id="Group_p5BwgQFJ_kixpLBFbY5aQQ_2"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:51.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:51.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted-</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted&#160;-</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Remaining</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Aggregate</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number&#160;of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Exercise</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Contractual</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Intrinsic</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Options</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Term&#160;(years)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Outstanding at January 1, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_2MOLdCzC7E6PZi3R9hLQrA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" scale="0" id="Tc_9ioG3g6pBE2khdc3c_EgRw_8_2">1,030,000</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_CsCIGYdPT06WFyu9y-PYzg" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_2MOLdCzC7E6PZi3R9hLQrA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" scale="0" id="Tc_8S7PDGA-q0OccneWd87mBw_8_5">3.46</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Exercised</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Forfeited/Expired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_2MOLdCzC7E6PZi3R9hLQrA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" scale="0" id="Tc_DAiYM2IJ7kekJEhmfvTw_w_10_2">2,500</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_CsCIGYdPT06WFyu9y-PYzg" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_2MOLdCzC7E6PZi3R9hLQrA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" scale="0" id="Tc_1N2zhCtnt0KYhG77oc5y-A_10_5">3.41</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Outstanding at December 31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw" contextRef="As_Of_12_31_2022_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_2Nfr3Br9R0mhG5MRLiyDnA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" scale="0" id="Tc_3xeMXeog20GOvfyqVTORzw_11_2">1,027,500</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_CsCIGYdPT06WFyu9y-PYzg" contextRef="As_Of_12_31_2022_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_2Nfr3Br9R0mhG5MRLiyDnA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" scale="0" id="Tc_MDUUJhfWME6cH7XPf-lRxw_11_5">3.46</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonNumeric contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_2MOLdCzC7E6PZi3R9hLQrA" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" id="Tc_TD6xxb5cREuLcWQlIUfOaQ_11_7"><span style="font-size:10pt;"> 9.75</span></ix:nonNumeric></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td></tr><tr><td style="vertical-align:bottom;width:51.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_5qfGOF2UVU2H1ZwgTrg-lQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" scale="0" id="Tc_NLU0S3wqTkmn9Wc131_ktg_12_2">3,000</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_CsCIGYdPT06WFyu9y-PYzg" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_5qfGOF2UVU2H1ZwgTrg-lQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" scale="0" id="Tc_9KPV27XBwkOpRlheuE11mQ_12_5">13.05</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Exercised</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_5qfGOF2UVU2H1ZwgTrg-lQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" scale="0" id="Tc_vn5R8VCk2U25qis03SoIow_13_2">63,595</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_CsCIGYdPT06WFyu9y-PYzg" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_5qfGOF2UVU2H1ZwgTrg-lQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" scale="0" id="Tc_5kJmUQCNr0a8wQfJf-CrMA_13_5">4.59</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Forfeited/Expired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (<ix:nonFraction unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_5qfGOF2UVU2H1ZwgTrg-lQ" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" scale="0" id="Tc_QiKs749bQ065xEHIPCmhwg_14_2">43,334</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_CsCIGYdPT06WFyu9y-PYzg" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_5qfGOF2UVU2H1ZwgTrg-lQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" scale="0" id="Tc_tutRA5YmvEWGlpuXWjohqA_14_5">3.41</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Outstanding at December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw" contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_7dfJBm3L5kyLlQmZU_dW2A" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" scale="0" id="Tc_XuhQnN96GUmYshfjjXu9ww_15_2">923,571</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_CsCIGYdPT06WFyu9y-PYzg" contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_7dfJBm3L5kyLlQmZU_dW2A" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" scale="0" id="Tc_315xENhsvEKDOFYnVaclnQ_15_5">3.41</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_5qfGOF2UVU2H1ZwgTrg-lQ" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" id="Tc_Q3-PZA9S-06fNVXWmspf6Q_15_7"><span style="font-size:10pt;"> 8.76</span></ix:nonNumeric></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_7dfJBm3L5kyLlQmZU_dW2A" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" scale="0" id="Tc_crBsrrkKd0Cd9e6sfW9cvg_15_10">4,786,252</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:51.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Exercisable at December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw" contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_7dfJBm3L5kyLlQmZU_dW2A" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" scale="0" id="Tc_RjlJxNc18kyrnj2fAZR-1A_17_2">386,209</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_CsCIGYdPT06WFyu9y-PYzg" contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_7dfJBm3L5kyLlQmZU_dW2A" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" scale="0" id="Tc_Z0oNOXmRtkSTDgN-bYOtPA_17_5">3.34</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_5qfGOF2UVU2H1ZwgTrg-lQ" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" id="Tc_EOPesLG44E6NUUDE4W9aLg_17_7"><span style="font-size:10pt;"> 8.74</span></ix:nonNumeric></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_7dfJBm3L5kyLlQmZU_dW2A" decimals="0" format="ixt:numdotdecimal" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" scale="0" id="Tc_j5iJyH1HDkWSgV0yXWbbhw_17_10">2,023,601</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:51.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Vested and Expected to Vest at December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw" contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_7dfJBm3L5kyLlQmZU_dW2A" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" scale="0" id="Tc_HeijgtFEFUSUUp0yYVnsmg_19_2">923,571</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_CsCIGYdPT06WFyu9y-PYzg" contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_7dfJBm3L5kyLlQmZU_dW2A" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" scale="0" id="Tc_pevoMDkqcEKGTa9yZ1ByGw_19_5">3.41</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_5qfGOF2UVU2H1ZwgTrg-lQ" format="ixt-sec:duryear" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" id="Tc_iGNnVINu-U6Vu-YXVaY9Wg_19_7"><span style="font-size:10pt;"> 8.76</span></ix:nonNumeric></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_7dfJBm3L5kyLlQmZU_dW2A" decimals="0" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" scale="0" id="Tc_50gPjs4BWEiCewvPvgvyuA_19_10">4,786,252</ix:nonFraction></p></td></tr></table></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Restricted Stock Awards</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">There were no outstanding awards of restricted stock under the 2013 Plan or the 2021 Plan (collectively, the &#8220;Equity Plans&#8221;) during each of the years ended December 31, 2023 and 2022.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Restricted Stock Units</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Restricted stock unit activity under the Equity Plans during each of the years ended December 31, 2023 and 2022 are presented below:</p><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_lvzdDusiskOtELZ9OgVYdg" name="us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" id="Group_lj6jK_c0skyFLJy9a8z37Q" continuedAt="Group_lj6jK_c0skyFLJy9a8z37Q_2" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted-</b></p></td></tr><tr><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Average</b></p></td></tr><tr><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Restricted Stock</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Grant&#160;Date</b></p></td></tr><tr><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Units</b></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Unvested at January 1, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw" contextRef="As_Of_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_0doUN1yxeE6e7yU6ySXQYg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" scale="0" id="Tc_KsePK1ICWEmnvEqViIEQCw_6_2">700,000</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_CsCIGYdPT06WFyu9y-PYzg" contextRef="As_Of_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_0doUN1yxeE6e7yU6ySXQYg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" id="Tc_UMIVsI4m-E-La6RqwDCJxg_6_5">5.59</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_WgP_-J30yUq6H7aSq2bW6Q" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" scale="0" id="Tc_yv0h_nzQG0CbALVP-0YkUA_7_2">49,756</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_CsCIGYdPT06WFyu9y-PYzg" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_WgP_-J30yUq6H7aSq2bW6Q" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="Tc_wFTSuCWQ4UmxvvrkfnZXiw_7_5">8.29</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Vested</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td></tr><tr><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Forfeited/Expired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td></tr><tr><td style="vertical-align:bottom;width:72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Unvested at December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw" contextRef="As_Of_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_PanpiGRa70CvltWK11K3XA" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" scale="0" id="Tc_Fn-uRO0Y_ESHx95qr8U3HA_10_2">749,756</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_CsCIGYdPT06WFyu9y-PYzg" contextRef="As_Of_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_PanpiGRa70CvltWK11K3XA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" id="Tc_26TaAUEopkymWnzJ3xMlrw_10_5">5.77</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-30</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 18pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">INNODATA&#160;INC. AND SUBSIDIARIES</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt 0pt 12pt 0pt;">YEARS ENDED DECEMBER 31, 2023 AND 2022</p></div><div style="clear:both;max-width:100%;position:relative;"><a id="Tc_e3KAjW8Etk25RPyGpogQYQ_1_4"></a><a id="Tc_8D26P90lXEughlZUFJoMjQ_2_2"></a><a id="Tc_nJJR3NDQR0aC5yQODl2ZOw_2_4"></a><a id="Tc_fnS1hqDk-Uu0Mi2pr9bQvw_3_2"></a><a id="Tc_I_kidYcTwU2u-3veBSRRDg_3_4"></a><a id="Tc_OR3EU7zCCEKsfI7zmZdOcw_4_2"></a><a id="Tc_GLCQDT59tUO0Ars7OafAOw_4_4"></a><a id="Tc_uvwN93rCKE6nVXaDCvEB0Q_6_0"></a><a id="Tc_Gj4R_I_AYkS7cLO6l848QQ_6_2"></a><a id="Tc_1B0U1Ra_HkOhglEO-7TmqQ_6_4"></a><a id="Tc_0NWtTmASJ0mgEeJITEAjpQ_6_5"></a><a id="Tc_QfGrjj-zWk28bmf4s3IC9g_7_0"></a><a id="Tc_ryS3XajiKE6zrsmbE70hAQ_8_0"></a><a id="Tc_YnVKOU8PhkK0rRntoXxuOA_8_2"></a><a id="Tc_spl87sktmEaEDaPwVFoXmg_8_5"></a><a id="Tc_yg15HVOS3UqJA2QOAbGizg_9_0"></a><a id="Tc_4aGlyf2pKUKIDp0mqct2Mg_9_2"></a><a id="Tc_PoTK79qd0UaT7ehIR9unbw_9_5"></a><a id="Tc_ZE86nV5hck-Nwz3FXRlZqQ_10_0"></a><a id="Tc_EnyXcGpWuU-t8jsPQV8yDg_10_4"></a><ix:continuation id="Tb_ylH0MLV_t0ayCUYmElJ7tg_cont4"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">During the year ended December 31, 2023, a total of <ix:nonFraction unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_WgP_-J30yUq6H7aSq2bW6Q" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" scale="0" id="Narr_NTO8oHbi1UeB8rSxw96GTA">49,756</ix:nonFraction> restricted stock units (&#8220;RSUs&#8221;) were granted. <ix:nonFraction unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_cSZVcu2dYE2kzuJl5WvLEw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" scale="0" id="Narr_U283peiLU0-gU3SC7HJKdw">28,804</ix:nonFraction> RSUs were granted to employees under the 2013 Plan, and <ix:nonFraction unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_YkATlAZycECBwoQG35brVw" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" scale="0" id="Narr_OyFzkYj_BEyLYYTMVoPKhg">20,952</ix:nonFraction> RSUs were granted to non-employee directors of the Company under the 2021 Plan. Vesting of the RSUs granted to employees is contingent on continuous employment by the employee for a <ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_WgP_-J30yUq6H7aSq2bW6Q" format="ixt-sec:durmonth" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" id="Narr_ZdT2OPWU40iwLpaSc4AoQw">12</ix:nonNumeric>-month period from the date of grant, and each fully vested RSU represents the right to receive <ix:nonFraction unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_lvzdDusiskOtELZ9OgVYdg" decimals="INF" format="ixt-sec:numwordsen" name="inod:NumberOfSharesEligibleToReceiveForEachFullyVestedRsu" scale="0" id="Narr_93r-nPONU0-W9tL0IUHQYQ">one</ix:nonFraction> share of the Company&#8217;s common stock or the fair market value of <ix:nonFraction unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_lvzdDusiskOtELZ9OgVYdg" decimals="INF" format="ixt-sec:numwordsen" name="inod:NumberOfSharesEligibleToReceiveForEachFullyVestedRsu" scale="0" id="Narr_-wv5CGjDxUiG04e4zbt5gw">one</ix:nonFraction> share of common stock, at the Company&#8217;s discretion, and is classified as an equity award. Vesting of the RSUs granted to the non-employee directors occurs on the earlier of (i) one year from the date of grant; or (ii) the date of the Company&#8217;s 2024 annual meeting of stockholders, and each fully vested RSU represents the right to receive <ix:nonFraction unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_lvzdDusiskOtELZ9OgVYdg" decimals="INF" format="ixt-sec:numwordsen" name="inod:NumberOfSharesEligibleToReceiveForEachFullyVestedRsu" scale="0" id="Narr_TPbCFSrl2ka3jS9nNKsJyQ">one</ix:nonFraction> share of the Company&#8217;s common stock and is classified as an equity award.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The stock-based compensation expense is recognized on a straight-line basis over a period of 12 months. The fair value of restricted stock units is based on the closing price of the stock at the time of the grant.</p><ix:continuation id="Group_lj6jK_c0skyFLJy9a8z37Q_2"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted-</b></p></td></tr><tr><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Number&#160;of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Average</b></p></td></tr><tr><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Restricted&#160;Stock</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Grant&#160;Date</b></p></td></tr><tr><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Units</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Fair&#160;Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Unvested at January 1, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td></tr><tr><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_qj4QrqwTtkeIYN2E8Tq2-Q" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" scale="0" id="Tc_ApRAAtVG4UaWz3EA3SDpGQ_7_2">700,000</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_CsCIGYdPT06WFyu9y-PYzg" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_qj4QrqwTtkeIYN2E8Tq2-Q" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" scale="0" id="Tc_nD2iJl_fX0OTh8jYqCxe6g_7_5">5.59</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Vested</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td></tr><tr><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Forfeited/Expired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td></tr><tr><td style="vertical-align:bottom;width:72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Unvested at December 31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw" contextRef="As_Of_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_0doUN1yxeE6e7yU6ySXQYg" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" scale="0" id="Tc_T82Is5T-6k6xuZvlluia3Q_10_2">700,000</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Divide_USD_shares_CsCIGYdPT06WFyu9y-PYzg" contextRef="As_Of_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_0doUN1yxeE6e7yU6ySXQYg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" scale="0" id="Tc_UZ-mBbtXIUiLd8j_v0QTkw_10_5">5.59</ix:nonFraction></p></td></tr></table></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;background:#ffff00;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">During the year ended December 31, 2022, <ix:nonFraction unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_qj4QrqwTtkeIYN2E8Tq2-Q" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" scale="0" id="Narr_c58or2rBQkOpTgDn42ksNg">700,000</ix:nonFraction> performance-based RSUs were granted under the Equity Plans and remain non-vested as of December 31, 2023. Vesting of these RSUs is contingent on the achievement of certain financial performance goals and continuation of employment for a defined period. Each RSU vests pursuant to the vesting schedule found in the respective RSU agreement. The fair value of restricted stock units is estimated on the date of grant using the Binomial option pricing model.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The compensation cost related to non-vested stock options not yet recognized as of December 31, 2023 totaled approximately $<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_M1sjIcrZOkGs1qGMdqzpwA" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" scale="6" id="Narr_pkMNlGp7skWtxR_Edn993A">3.5</ix:nonFraction> million. The weighted-average period over which these costs will be recognized is <ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember__-GTYdyktECJT8VEe_EEig" format="ixt-sec:durwordsen" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" id="Narr_9BjrUjPt9EKkCOVlKM7bwg">15 months</ix:nonNumeric>.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The compensation cost related to non-vested restricted stock units not yet recognized as of December 31, 2023 totaled approximately $<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_aGTgNraUUUShkXeCx_LciQ" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" scale="6" id="Narr_VFEu8maOcEi6tO8hPpH09g">3.1</ix:nonFraction> million. The weighted-average period over which these costs will be recognized is <ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_lvzdDusiskOtELZ9OgVYdg" format="ixt-sec:durwordsen" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" id="Narr_vfwod0ub4USx1-HmG3Og4g">14 months</ix:nonNumeric>.</p></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-31</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 18pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">INNODATA&#160;INC. AND SUBSIDIARIES</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt 0pt 12pt 0pt;">YEARS ENDED DECEMBER 31, 2023 AND 2022</p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_bf5e3dd9_8ec1_4cda_955e_70825be7a99e"></a><a id="Tc_nROOcgPsmU-YKILN52yDyQ_1_8"></a><a id="Tc_TH4BhdsPq0OjGoa0_kOCCw_1_11"></a><a id="Tc_uL8wx2grmk-NAtvBRjMXvQ_2_2"></a><a id="Tc_j25fTaoMrUucDYrJpKIgWg_2_5"></a><a id="Tc_BIAFuCQwKEeXdvMtVvli7g_2_8"></a><a id="Tc_kmTQGT-DI0avrB-yUvEZSA_2_11"></a><a id="Tc_tgab9MmGTEybb0ej9VH1JA_3_2"></a><a id="Tc_FuBhEb7AukGwoOFQdyqA4w_3_5"></a><a id="Tc_sxlnt4qjTkSSDm0YlF0y3g_3_8"></a><a id="Tc_WPrZgtiO40Okubs9wC1HrA_3_11"></a><a id="Tc_zlqu729oKkaJaOc0eO-7ig_5_0"></a><a id="Tc_vyc7wdZTJE-ohZ7C_TnPNw_5_2"></a><a id="Tc_xv_u7rxgRk64s26dMQzT9w_5_5"></a><a id="Tc_4OBegSSeqE-_baGEFukMWw_5_8"></a><a id="Tc_RKgO3dJ6uEqY-NN_UaJKXg_5_11"></a><a id="Tc_8JeNI5nXqUuGG6lp9h62Fw_6_0"></a><a id="Tc_jAqJ_cyzekC-oWFiw33Pkw_7_0"></a><a id="Tc_MOMGbB7PS0ySa4Q-LxLuYA_8_0"></a><a id="Tc_gVfDmwQ-o0S7w1inqp4waQ_8_9"></a><a id="Tc_91i2QBCvy0aV5SzdaGUSYA_9_0"></a><a id="Tc_0qiy0AxL10-m8HoqMljlLQ_9_2"></a><a id="Tc_Sb9bqawt10qwD-sXFuIRuA_9_5"></a><a id="Tc_8Bb8Iw6EIki2PfKuuTjtbw_9_8"></a><a id="Tc_a9iyoRCDPkaDNC5HY_uwPw_9_11"></a><a id="_c9ad8121_330a_4aec_b599_5efb0c1de866"></a><a id="Tc_DDC3vMqoNU6wSu32dkytDg_1_8"></a><a id="Tc_f6_2FPf0I0yoT8NE8XNvpA_1_11"></a><a id="Tc_dUxBQp5u8kiBa8y51CNV_Q_2_2"></a><a id="Tc_291ku5eKXEuLkdhWKkJM6g_2_5"></a><a id="Tc_E_xU77VIBkismK2sz5sSZQ_2_8"></a><a id="Tc_K9m1FcJ6CUiS6Es9-NCnbQ_2_11"></a><a id="Tc_FHMtbRNPakON3EwpjtV5WA_3_2"></a><a id="Tc_WheWF9NvXE-1-_heLrSn8g_3_5"></a><a id="Tc_n-ig2NIceU-AGBzzwiXs4g_3_8"></a><a id="Tc_5Vf0PtGIfk-N_T9JzMGdog_3_11"></a><a id="Tc_p58XMUc7f0eFajn3P_6ktA_5_0"></a><a id="Tc_TegYXVR7jkKcs-SjPN0EjA_5_2"></a><a id="Tc_-MrcGfNrv0e8zLQkeY-30g_5_5"></a><a id="Tc_iBZrmTwbIkqH3QQ0kiYVPA_5_8"></a><a id="Tc_FwroLFWlNU-f3p1BXwsXSA_5_11"></a><a id="Tc_LdhR1cXHxEe6_R4iR2As0g_6_0"></a><a id="Tc_eRdHjXZMHEigzVMIDPG2cA_7_0"></a><a id="Tc_Wu9Nq7OlTkuyxWNoUtIGMQ_8_0"></a><a id="Tc_qJPexogLbE2Xw8Txn6XLGQ_8_9"></a><a id="Tc_oHtQT3XXgEe0_QHhDDWsvQ_9_0"></a><a id="Tc_m_PxI0C1gkOSu3cnaTwAlg_9_2"></a><a id="Tc_TtRVlhCX7kGxnoL-nNcvHg_9_5"></a><a id="Tc_6Y-VQ51_lUqqFSR3noycjQ_9_8"></a><a id="Tc_53oQ4lv3LEa7inal_XQz3Q_9_11"></a><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="us-gaap:ComprehensiveIncomeNoteTextBlock" id="Tb_cKIRKotUzk-BIaeqBOChjg" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">13.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Comprehensive loss</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Accumulated other comprehensive loss, as reflected in the consolidated balance sheets, consists of pension liability adjustments, net of taxes, foreign currency translation adjustment and changes in fair value of derivatives, net of taxes. <ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock" id="Group_IIOLJovulk6ARwPcxWv-KQ" continuedAt="Group_IIOLJovulk6ARwPcxWv-KQ_2" escape="true">The components of accumulated other comprehensive loss as of December 31, 2023 and 2022, and reclassifications out of accumulated other comprehensive loss for the&#160;years then ended, are presented below (in thousands):</ix:nonNumeric></p><ix:continuation id="Group_IIOLJovulk6ARwPcxWv-KQ_2"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Foreign&#160;Currency</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Accumulated&#160;Other</b></p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Pension&#160;Liability</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Fair&#160;Value&#160;of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Translation</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Comprehensive</b></p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Adjustment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Derivatives</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Adjustment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Loss</b></p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Balance at January 1, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_kZgpW4-CxUutJCwalaxPhw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" sign="-" scale="3" id="Tc__bpk5or2OkeZBk7nEuYdaQ_5_3">86</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_huEGSbabNkKfAjcJrm83rw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" sign="-" scale="3" id="Tc_43_nSdYYxEurUdY5YB1Ghw_5_6">365</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedTranslationAdjustmentMember__fbw9TgseEeDPSCwFeZUfQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" sign="-" scale="3" id="Tc_yl5xAYDxD0qH5QcHKSoEgA_5_9">1,657</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_c7lWhPVgBE-WkvyMz14pyQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" sign="-" scale="3" id="Tc_gH7RMZpl6EC6rqm5BEDbog_5_12">2,108</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Other comprehensive income (loss) before reclassifications, net of taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_xblYvJaCp0qPeXhF3ODqyQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" sign="-" scale="3" id="Tc_13YtysKT_kme4z2EDZLy7A_6_3">322</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_50Ly9HkcDEy-rKD-BGoM3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" scale="3" id="Tc_mfvVGPYTCUOZgq8HMLtiQA_6_6">185</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedTranslationAdjustmentMember_MXzUQ8pNpUygoHxpksj4TQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" scale="3" id="Tc_fP7779IcOUGXgRVv8pIAxA_6_9">407</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_RUyaer8lGE6_VcQ9LicmRQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" scale="3" id="Tc_gT2J0FwUmUypOAvyh0jcog_6_12">270</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Total other comprehensive loss before reclassifications, net of taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_xblYvJaCp0qPeXhF3ODqyQ" decimals="-3" format="ixt:numdotdecimal" name="inod:TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" sign="-" scale="3" id="Tc_mLCCl3mq1kuFdamoiDDLiQ_7_3">408</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_50Ly9HkcDEy-rKD-BGoM3Q" decimals="-3" format="ixt:numdotdecimal" name="inod:TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" sign="-" scale="3" id="Tc_OrQyf1bWAkSaL-klHzYOPw_7_6">180</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedTranslationAdjustmentMember_MXzUQ8pNpUygoHxpksj4TQ" decimals="-3" format="ixt:numdotdecimal" name="inod:TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" sign="-" scale="3" id="Tc_Ta5-YtiwdU2BdW8WXcgBGg_7_9">1,250</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_RUyaer8lGE6_VcQ9LicmRQ" decimals="-3" format="ixt:numdotdecimal" name="inod:TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" sign="-" scale="3" id="Tc_lGzLMdMkZ0W29KWQBAB2Xw_7_12">1,838</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Net amount reclassified to earnings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_xblYvJaCp0qPeXhF3ODqyQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax" sign="-" scale="3" id="Tc_Nqu1k_QJI0q-PYr9eQVfpg_8_3">4</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_50Ly9HkcDEy-rKD-BGoM3Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax" scale="3" id="Tc_mrvQ87JuQEqLMxXDaZxSDg_8_6">221</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_RUyaer8lGE6_VcQ9LicmRQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax" scale="3" id="Tc_Vpw0n3mzg0eGQWmjJ1WMDg_8_12">217</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Balance at December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_8s3R-6bglUejDK2j7LO24g" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" sign="-" scale="3" id="Tc_AZL61MI1eUixSHeysPLNLw_9_3">412</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_r-4TmZcddkOH0mSP_wvnFw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="Tc_X-ZjHqP8iU6eOdq0w-IGFg_9_6">41</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedTranslationAdjustmentMember_mHQ4p6twU06hTlgC7UtGPA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" sign="-" scale="3" id="Tc_wDU8RcFELE-7IKyDOt9X5Q_9_9">1,250</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_pzr1FtTpQEeyVTKJemj5Wg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" sign="-" scale="3" id="Tc_wZYeWclx9UOJBuxGE34gUA_9_12">1,621</ix:nonFraction>)</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Foreign&#160;Currency</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Accumulated&#160;Other</b></p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Pension&#160;Liability</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Fair&#160;Value&#160;of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Translation</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Comprehensive</b></p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Adjustment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Derivatives</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Adjustment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Loss</b></p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Balance at January 1, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_oZr7_sMmSU617toIq-_dFQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" sign="-" scale="3" id="Tc_4Eqi-NMUOUyIZChXO8M-FA_5_3">858</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_wN7JYwmcpUSPEYT5NjW66w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" sign="-" scale="3" id="Tc_qolZe8cm5U-XrTyRyydOig_5_6">353</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedTranslationAdjustmentMember_JmGwNz4ASUWfUFC-yCcPrg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" sign="-" scale="3" id="Tc_YCnmRkMO4UCtmz7RJYdxdQ_5_9">981</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_FJvH64UhtkiszY9Kg4pazw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" sign="-" scale="3" id="Tc_NZEUR5-30UO_v4Znhuz-8Q_5_12">2,192</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Other comprehensive income (loss) before reclassifications, net of taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_-qi-V-dHIUiVFo6sJ0-f8w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" scale="3" id="Tc_-tLwuiHlCEOnqsii2TuhKA_6_3">561</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_SoQXm1V1qUK3wkjLIc6eAw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" sign="-" scale="3" id="Tc_lCnRLiRg10mMWlb5JLHqoQ_6_6">1,118</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedTranslationAdjustmentMember_iZNJNhyXvUyaxwVtQpgbsg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" sign="-" scale="3" id="Tc_FyhJcZDQ406LN6M_BQLSRQ_6_9">676</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_cOS_gIzBZ0CnbFN3FJi6eA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" sign="-" scale="3" id="Tc_6rS5ioFkCECY6ZMucYMunw_6_12">1,233</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Total other comprehensive loss before reclassifications, net of taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_-qi-V-dHIUiVFo6sJ0-f8w" decimals="-3" format="ixt:numdotdecimal" name="inod:TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" sign="-" scale="3" id="Tc_KC0qHkDJkEyijzesJ72MjA_7_3">297</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_SoQXm1V1qUK3wkjLIc6eAw" decimals="-3" format="ixt:numdotdecimal" name="inod:TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" sign="-" scale="3" id="Tc_y2vperadwESRhbEpNJ5H3Q_7_6">1,471</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedTranslationAdjustmentMember_iZNJNhyXvUyaxwVtQpgbsg" decimals="-3" format="ixt:numdotdecimal" name="inod:TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" sign="-" scale="3" id="Tc_ei7_Uan6P0efC2K_bw8Lrg_7_9">1,657</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_cOS_gIzBZ0CnbFN3FJi6eA" decimals="-3" format="ixt:numdotdecimal" name="inod:TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" sign="-" scale="3" id="Tc_IAvuXmR7Yk-ew9GO4YdFqQ_7_12">3,425</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Net amount reclassified to earnings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_-qi-V-dHIUiVFo6sJ0-f8w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax" scale="3" id="Tc_7-vWYBHlGUqK3taK07lWrA_8_3">211</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_SoQXm1V1qUK3wkjLIc6eAw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax" scale="3" id="Tc_I3sU0ltcYU23rljtfzjWkQ_8_6">1,106</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_cOS_gIzBZ0CnbFN3FJi6eA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax" scale="3" id="Tc_0shoqq6a_Ei63M3rHKM0Og_8_12">1,317</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Balance at December 31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_kZgpW4-CxUutJCwalaxPhw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" sign="-" scale="3" id="Tc__ZukNstm4Uy7DnbIVX2sWA_9_3">86</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_huEGSbabNkKfAjcJrm83rw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" sign="-" scale="3" id="Tc_bQdiuLBun0OAF4hXfRgPvg_9_6">365</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedTranslationAdjustmentMember__fbw9TgseEeDPSCwFeZUfQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" sign="-" scale="3" id="Tc_N_3qhsnfTUa2lN2qlGdn5A_9_9">1,657</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_c7lWhPVgBE-WkvyMz14pyQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" sign="-" scale="3" id="Tc_cnZUcPZ7sEuad5izk59qVQ_9_12">2,108</ix:nonFraction>)</p></td></tr></table></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Taxes related to each component of other comprehensive loss were not material for the fiscal years presented and therefore not disclosed separately.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">All reclassifications out of accumulated other comprehensive loss had an impact on direct operating costs in the consolidated statements of operations and comprehensive loss.</p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="us-gaap:SegmentReportingDisclosureTextBlock" id="Tb_W4Z_HXrq5ku0Hj-YzwQtDw" continuedAt="Tb_W4Z_HXrq5ku0Hj-YzwQtDw_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">14.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Segment reporting and concentrations</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company&#8217;s operations are classified in <ix:nonFraction unitRef="Unit_Standard_segment_ZgNiCSukjkyW3Oz99w8UqQ" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:NumberOfReportableSegments" scale="0" id="Narr_Cxy7z7XMIkCIV4W50Aauhw">three</ix:nonFraction> reporting segments: Digital Data Solutions (DDS), Synodex and Agility.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The DDS segment provides AI data preparation services, collecting or creating training data, annotating training data, and training AI algorithms for its customers, and AI model deployment and integration. The DDS segment also provides a range of data engineering support services including data transformation, data curation, data hygiene, data consolidation, data extraction, data compliance, and master data management.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Synodex segment provides an industry platform that transforms medical records into useable digital data organized in accordance with its proprietary data models or customer data models.</p></ix:nonNumeric></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-32</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 18pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">INNODATA&#160;INC. AND SUBSIDIARIES</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt 0pt 12pt 0pt;">YEARS ENDED DECEMBER 31, 2023 AND 2022</p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_767954b5_36af_477b_9484_eeb13314f583"></a><a id="Tc__OOFf3giIkWaWpUzaS7jdg_1_2"></a><a id="Tc_e7mOxs7os0eE72lbzQT8fg_2_2"></a><a id="Tc_Ghscxjy0DkiJtEELSgmWwA_2_5"></a><a id="Tc_2qw8A_zXZkaPFHcYHClmXg_3_0"></a><a id="Tc_7zlqjwxWL0u0jHWZWMxiNw_4_0"></a><a id="Tc_PYWjDgNaukCxKefWJ-ctrA_4_2"></a><a id="Tc_77y_tLOH0ESW3TFCxD2OLw_4_5"></a><a id="Tc_kMXWNYemE0-iqHVtQN6WJw_5_0"></a><a id="Tc_tqaU0B1iyU-XcxHbC7DnCw_6_0"></a><a id="Tc_y-O-RXiwl0CRxCJn7_QvAQ_7_0"></a><a id="Tc_RZ0qyh9OjECQtrKQa-PRgQ_7_2"></a><a id="Tc_DFkssCToIki2fpeWgnRURw_7_5"></a><a id="Tc_84pR_qab9ESjwE1q4KU6qw_9_0"></a><a id="Tc_wipTXedRfkmeDz3hW7YWGg_10_0"></a><a id="Tc_dSrr4eNg902DAJIlpUP9Pg_10_2"></a><a id="Tc__YRjVMcLIU2qUtbVMU_l_Q_10_5"></a><a id="Tc__BJsZM4UH0m98vR4BljohA_11_0"></a><a id="Tc_Rwy9RwFArkm-JjSNrzAigg_12_0"></a><a id="Tc_20pqa46fiEuRmSxD1IA2CA_13_0"></a><a id="Tc_Uy15oIHkHUSVAUHi8N8EGA_13_2"></a><a id="Tc_T-csgOSX8kqJWOZMpCJscg_13_5"></a><a id="Tc_Dio3SZGpmUihzNJj3bV1uA_15_0"></a><a id="Tc_Ymp88pPvzEadvYCEYgISJQ_16_0"></a><a id="Tc_Sax9Lbk6bEyl0Abjr8I3Sg_16_2"></a><a id="Tc_lQLbNs0Fq0K_it6Iz4NwkA_16_5"></a><a id="Tc_rgM2rTW8w0a2A0yWk75HTA_17_0"></a><a id="Tc_dLu_IJBUpUm-A2fZAldyQw_18_0"></a><a id="Tc_PTbSYlx6qkSHu-2X8MRRvA_19_0"></a><a id="Tc_iBMSQwkzdk-2YVwdieOdMA_19_2"></a><a id="Tc_b25oxIPmmkOiR_8z4li71w_19_5"></a><a id="_f20391bc_8c6e_416f_a4a5_ae5749f413f1"></a><a id="Tc_u1q3sx6fwEyFyyYdl8SIcQ_1_2"></a><a id="Tc_QRG0Yy4toU2pyoedLivoyQ_1_5"></a><a id="Tc_lTxyqoZCTka-_XH5aiIYcA_2_0"></a><a id="Tc_UsYktUP2XUC_1NEy-o4aNg_3_0"></a><a id="Tc_ltJMvarEyE-o6vDk-AK7kw_3_2"></a><a id="Tc_nFjaBJRddk2R45yRxQ3Igw_3_5"></a><a id="Tc_aRB7Md-1HUK3HL0fDaHGFg_4_0"></a><a id="Tc_RnaWzA2ux0C-YweYWASqPw_5_0"></a><a id="Tc_gkV7Ea2C0EeLsaIj1EZeUg_6_0"></a><a id="Tc_kDLOmqBK5U-QHEoHQWSJsg_6_2"></a><a id="Tc_MEEqt1JNn0uPUcBVWxDDGQ_6_5"></a><a id="_8e78cba1_91a5_4748_82a4_b9e733ac8f39"></a><a id="Tc_OVrsx_7pME2zTcJIOaZPmQ_1_2"></a><a id="Tc_4Kkev8tLbEiba9kKmlK-Lw_1_5"></a><a id="Tc_S1Ku5QzgE0eN759-Z9LqEw_2_0"></a><a id="Tc_MTWbIs447U-cCnjB1IowHg_3_0"></a><a id="Tc_3DoKfzDN6kasIAb5X0hMwQ_3_2"></a><a id="Tc_Z9oXDoJekkGCfQFvt4Vi2Q_3_5"></a><a id="Tc_zQcXmwveu0SwvtVEuP9xyQ_4_0"></a><a id="Tc_Ozo8hNc5wUOJd05JRh6Lbg_4_2"></a><a id="Tc_WrkGFS99f0i6Hbl__yQduw_4_5"></a><ix:continuation id="Tb_W4Z_HXrq5ku0Hj-YzwQtDw_cont1" continuedAt="Tb_W4Z_HXrq5ku0Hj-YzwQtDw_cont2"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Agility segment provides an industry platform that provides marketing communications and public relations professionals with the ability to target and distribute content to journalists and social media influencers world-wide and to monitor and analyze global news channels (print, web, radio and TV) and social media channels.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">A significant portion of the Company&#8217;s revenues is generated from its locations in the Philippines, India, Sri Lanka, Canada, Germany, Israel, United States and the United Kingdom. </p><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock" id="Tb_48wBKwjTiEGcqA1lDju7ow" continuedAt="Tb_48wBKwjTiEGcqA1lDju7ow_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Revenues from external customers, segment operating profit (loss), and other reportable segment information are as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:70%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:56.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.61%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:56.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:41.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">For&#160;The&#160;Years Ended&#160;December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:56.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:56.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Revenues:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:56.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">DDS</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_hfrqOpdH60OwuH8iwP5vZg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="3" id="Tc_IeZBZ7zWh06aaZbQkzeHEA_4_3">61,576</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_9B1oaQAGS0SJig4AiUYcMQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="3" id="Tc_K7dT6L_dO0-TuvSRYHtTNg_4_6">56,523</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:56.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Synodex</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_-vuRYrfzYkmvPTGuM6-RWA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="3" id="Tc_XRyR_Y-rw0qjB_CNrMLTVw_5_3">7,511</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_b5c4CvpcyUe-20ZsF4XSuA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="3" id="Tc_b_ZJ22lB1USD7XJ2fMfA0A_5_6">7,105</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:56.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Agility</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_VS8VoCn_NkSXn3oQdOqKmg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="3" id="Tc_yrXaPRdOfU-7YM3OxdyWaA_6_3">17,688</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_esDU3rm5EE6OMbherdLDuw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="3" id="Tc_X5H9OuMtgEyhClHmpy3_tw_6_6">15,373</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:56.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Total Consolidated</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.61%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="3" id="Tc_cXqkwPJWEk2I9YGgQI1imA_7_3">86,775</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="3" id="Tc_xY4KSMt3-0a2Q7G8Eu_hdQ_7_6">79,001</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:56.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Income (loss) before provision for income taxes<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup>:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">DDS</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_us-gaap_SubsegmentsConsolidationItemsAxis_inod_BeforeIntersegmentEliminationsMember_mZKU-HNpVkeVxqBMhDvpzA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_vWBlXpFeYEiCXNUZex23lA_10_3">1,823</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_us-gaap_SubsegmentsConsolidationItemsAxis_inod_BeforeIntersegmentEliminationsMember_6lFqrVNeTk2ITm4KSuH9Yw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_gLSPyJ0HJ0-yTFs_5yBQzQ_10_6">1,393</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:56.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Synodex</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_us-gaap_SubsegmentsConsolidationItemsAxis_inod_BeforeIntersegmentEliminationsMember_2V9Mg6e63UmQOnsRtk2ewQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" sign="-" scale="3" id="Tc_CHpEUw7cxkO2s60_oBR_yQ_11_3">299</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_us-gaap_SubsegmentsConsolidationItemsAxis_inod_BeforeIntersegmentEliminationsMember_QYt-iA7H00ybmHvX_Bcp8A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" sign="-" scale="3" id="Tc_eKD3wcEyckuIEjx6HvjExQ_11_6">3,213</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:56.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Agility</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_us-gaap_SubsegmentsConsolidationItemsAxis_inod_BeforeIntersegmentEliminationsMember_Ol_MJGERcEO6rtt180a_9A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" sign="-" scale="3" id="Tc_SAZb27idmkWkTCRY_cW-NA_12_3">1,385</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_us-gaap_SubsegmentsConsolidationItemsAxis_inod_BeforeIntersegmentEliminationsMember_sCdYBoaS2EuGi5AD29cP6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" sign="-" scale="3" id="Tc_xv1FxCJe2USqIEloyXExJw_12_6">8,663</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:56.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Total Consolidated</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.61%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_SubsegmentsConsolidationItemsAxis_inod_BeforeIntersegmentEliminationsMember_ZYXKfyc5bUuc_tUGR5jEnQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_MjHRcf0bsUW8wIJqmlPZ-w_13_3">139</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_SubsegmentsConsolidationItemsAxis_inod_BeforeIntersegmentEliminationsMember_TJ9zMrxcmUCFxo6BZ1m9hA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" sign="-" scale="3" id="Tc_6YEseml1MEykstFKPpQXFA_13_6">10,483</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:56.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Income (loss) before provision for income taxes<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup>:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">DDS</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_us-gaap_SubsegmentsConsolidationItemsAxis_inod_AfterIntersegmentEliminationsMember_6xfH3kPftES4PwzNxRXytg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc__5tzTVnm1EO-AmP1IRYnWQ_16_3">1,260</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_us-gaap_SubsegmentsConsolidationItemsAxis_inod_AfterIntersegmentEliminationsMember__QRq8LR7SEuoxYmZrlolQA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_tc1CJTahjkeZIT_QccOpkw_16_6">716</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:56.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Synodex</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_us-gaap_SubsegmentsConsolidationItemsAxis_inod_AfterIntersegmentEliminationsMember_90AMqhMbSkSLYrBYYLonWg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_2PxI9-4UbkWcYPQ1_UIhdQ_17_3">219</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_us-gaap_SubsegmentsConsolidationItemsAxis_inod_AfterIntersegmentEliminationsMember_rX0wtMiAMkyaIwTMffhTeg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" sign="-" scale="3" id="Tc_ziwphdNMxke1HRonZ749DA_17_6">2,599</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:56.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Agility</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_us-gaap_SubsegmentsConsolidationItemsAxis_inod_AfterIntersegmentEliminationsMember_YRNECY_QzEKvQBRFrI_rtw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" sign="-" scale="3" id="Tc_xCJx7S87uk6lRczr14meUQ_18_3">1,340</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_us-gaap_SubsegmentsConsolidationItemsAxis_inod_AfterIntersegmentEliminationsMember_arrKlzbb70GZQU4AYDZ__w" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" sign="-" scale="3" id="Tc_v-SFvXDv2kGYuVB3-LP--A_18_6">8,600</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:56.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Total Consolidated</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.61%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_SubsegmentsConsolidationItemsAxis_inod_AfterIntersegmentEliminationsMember_Dl9RY7RK2UODmIByd_M06A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="Tc_JBWfgRaSZEiXwvYyWZEgQg_19_3">139</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_SubsegmentsConsolidationItemsAxis_inod_AfterIntersegmentEliminationsMember_v6mrBPP_IUWv0ooN07CK3A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" sign="-" scale="3" id="Tc_VBas_sVyeUm19sFisN21YA_19_6">10,483</ix:nonFraction>)</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:70%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:51.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:18.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:18.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:51.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:21.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,&#160;2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:21.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,&#160;2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total assets:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:51.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">DDS</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_lFP-B3DwC0e_ZKSaD-pLNA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Assets" scale="3" id="Tc_coTtqHA36EuUx6KYk_mYIw_3_3">37,232</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_a-22rrn9JUuT_fjkXrOsPA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Assets" scale="3" id="Tc_QSCuaH-Yf0ic0eNlotVRxw_3_6">25,758</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:51.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Synodex</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_7YF2pH0B5UijlCQ0p4ihHw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Assets" scale="3" id="Tc_t62KU-in4UiheMnvTKHw4Q_4_3">3,379</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_TwFYk21iN0SwTxWg75DysQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Assets" scale="3" id="Tc_9u1vy3gsukC5uwUZcw3FRA_4_6">3,270</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:51.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Agility</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_wiijic-RgECfCYdrud0aEQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Assets" scale="3" id="Tc_IYcnpIxu30-GXdZ4_qA4kQ_5_3">18,820</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_Jc77nOKStUuc-rNnJbOogQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Assets" scale="3" id="Tc_R6m0XDXAU0e8UGz4pMY1rw_5_6">19,014</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:51.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Total Consolidated</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.83%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Assets" scale="3" id="Tc_8tp8jLhX8Ea4RwPb0Sk-Ww_6_3">59,431</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.83%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Assets" scale="3" id="Tc_ARlN6Y8msUK7CNVEY7Mmpw_6_6">48,042</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:70%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:51.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:19.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:19.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:51.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:21.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:21.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Goodwill:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:51.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Agility</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_wiijic-RgECfCYdrud0aEQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Goodwill" scale="3" id="Tc_QA-Ikq8rP0KxWohFDn3Fjg_3_3">2,075</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_Jc77nOKStUuc-rNnJbOogQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Goodwill" scale="3" id="Tc_6UUR863T2EKskOH_05Gd9g_3_6">2,038</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:51.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Goodwill" scale="3" id="Tc_yJhkkeKet0CTjE8_O67ydA_4_3">2,075</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Goodwill" scale="3" id="Tc_Dd3jhJMTqkasM4rMsLojzQ_4_6">2,038</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:36pt;"/><td style="font-family:'Times New Roman','Times','serif';font-size:6pt;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;">Before elimination of any inter-segment profits</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:36pt;"/><td style="font-family:'Times New Roman','Times','serif';font-size:6pt;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;">(2)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;">After elimination of any inter-segment profits</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric></ix:continuation></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-33</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 18pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">INNODATA&#160;INC. AND SUBSIDIARIES</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt 0pt 12pt 0pt;">YEARS ENDED DECEMBER 31, 2023 AND 2022</p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_2e44537a_6904_4aba_bc19_8f2a376f94d9"></a><a id="Tc_faxvcB74sEW4YBHG61OTkg_1_2"></a><a id="Tc_ISV9551jLEyjCJamERrrVg_1_5"></a><a id="Tc_x09xYXlNg0GCff2-g5dftA_2_0"></a><a id="Tc_8UKgZh6z30K6WtWbLjQ9-Q_2_2"></a><a id="Tc_py5BG3Ts0EOjAyJM_yBm8A_2_5"></a><a id="Tc_Whi6fLJ4BEWJq-cIOQUz_w_3_0"></a><a id="Tc_8Hgv118Ea0ajQSTfGPMidQ_4_0"></a><a id="Tc_jk_sLmTUOkC60l_Q6g108A_5_0"></a><a id="Tc_WcUV9Dr0ak2brIbOVpJP0g_6_0"></a><a id="Tc_ggHYtvkNzkGdl5GYjuP5fw_7_0"></a><a id="Tc_Q0kncOBflE-CPPkI3xrZ9w_8_0"></a><a id="Tc_M99Dy5oVYU2j7FAz2Rnusw_9_0"></a><a id="Tc_71kUwDZ2gUOZvvTnSOxZjg_10_0"></a><a id="Tc_gHiTblNcJkqphagDwdDFCw_11_0"></a><a id="Tc_MNIrDUi-2kmJ-b4QyvLxlA_11_2"></a><a id="Tc_WvISHKIcYE2jRR3fSjIGTA_11_5"></a><a id="_00df8497_3fe4_4015_b4ce_c178a7de7456"></a><a id="Tc_PjYyddhi8kOXJWdXoILnag_1_2"></a><a id="Tc_d1tczIs5FEasHcPwYryjrw_1_5"></a><a id="Tc_fYosVwQlRkaLQ6VmHelbrg_2_0"></a><a id="Tc_RcOQZ58C3kaObGqjGM7sHw_2_2"></a><a id="Tc_jvOf52LAAkel5HwSEszFWg_2_5"></a><a id="Tc_2kC7JiQP5EunERWfy2_iLA_3_0"></a><a id="Tc_xpNwpsXiBUGsyh7ZDpAE_A_4_0"></a><a id="Tc_jOltzTPFeESc7KoCCKJAqg_5_0"></a><a id="Tc_bUZ-NrCK1UmwCi6tQRLChg_6_0"></a><a id="Tc_oHDIGBswq02SejwVx4YbyQ_7_0"></a><a id="Tc_ngmVGNe6tkKpxjJYfb5ZpA_7_2"></a><a id="Tc_3_1zG877E0quGKvZ4xu01A_7_5"></a><ix:continuation id="Tb_W4Z_HXrq5ku0Hj-YzwQtDw_cont2"><ix:continuation id="Tb_48wBKwjTiEGcqA1lDju7ow_cont1"></ix:continuation><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="us-gaap:ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock" id="Tb__IX_17UdJUa652WdVjgv2g" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Long-lived assets as of December 31, 2023 and 2022 by geographic region were comprised of (in thousands): </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:35%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:47.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:5.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:5.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:47.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:21.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:20.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:47.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.49%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_US_8DT353cHtEa626yJajOM5Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_fdIkwc2cV06TWK5afg1_1w_2_3">9,101</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_srt_StatementGeographicalAxis_country_US_ln2nGqa4pkW7JE8Dx8YURQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_DSqLWxh9bEu9yzVGJK6oyQ_2_6">7,205</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:47.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Foreign countries:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:47.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Canada</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_CA_aAWcbW5hcUacnsmjpTYKMg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_qC5Mo3ZSS0-7dE_DxywYQw_4_3">7,328</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_srt_StatementGeographicalAxis_country_CA_6ijCI4Yup0aJNI7uAFEvDg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_vTBQ4pB34kyKD34BflH7Jg_4_6">7,675</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:47.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">United Kingdom</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_GB_cGlE6M1wGEyQUI3RdGfVMA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc__NjYwhXXxUyRptTEWydrzw_5_3">1,028</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_srt_StatementGeographicalAxis_country_GB_rsDGcGQTPEe5cRCF5Q2oUQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_5vifA2tqAEWetYcnGrTdxQ_5_6">1,198</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:47.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Philippines</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_PH_BXetIOq2PUy09PanB1VcMw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_MkZmqzeqJ0Ces1tA_IXe9g_6_3">3,484</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_srt_StatementGeographicalAxis_country_PH_r0CKHi2eW0eWdSEGI9mgqA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_rdZCRnzz3UGDouRG0JvIDg_6_6">3,682</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:47.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">India</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_IN_nQS0e64vb0OwUxdjuRF7VA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_uwZ0pZ6MmEaw19_ykM0gSQ_7_3">1,791</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_srt_StatementGeographicalAxis_country_IN_qtD2fnWt7UeXcO59Vjiypg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_CPFKWJHBRUKtqBMGzyBmZA_7_6">1,195</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:47.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Sri Lanka</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:4.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_LK_fcotOyfyCEOeSK58UW3WcA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_q6VtXd4EuEeWtngBG3k5XQ_8_3">423</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_srt_StatementGeographicalAxis_country_LK_oaPqC3MzUkKvwJ93B0xWmA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_5EDGny2yJEqHwhIyyZfKHA_8_6">426</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:47.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Israel</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:4.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_srt_StatementGeographicalAxis_stpr_IL_MAsADG9zd0eYU0lSiJSk1Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_b-Lrveoh9k-GN-WNnBMK8w_9_3">13</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_srt_StatementGeographicalAxis_stpr_IL_foRoAo2c0EWVo5lTWTaRRw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_S-rjvp47E0ajC1T4FESbQA_9_6">3</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:47.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total foreign</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.49%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_srt_StatementGeographicalAxis_inod_ForeignCountriesMember_hzjj-hG2RkySFElnBcom0A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_0Y6GOmHrGUe5V4fTCozeKg_10_3">14,067</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_srt_StatementGeographicalAxis_inod_ForeignCountriesMember_FBuuV21fgUea3lhDn10MKA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_8tDBmsEAqES1IGPhN5Vt0A_10_6">14,179</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:47.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Totals</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.46%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_XeeDDVtxVE2UYKR1V1cGyw_11_3">23,168</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.46%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NoncurrentAssets" scale="3" id="Tc_ilhUrgJ2UEqCt3JZBqUMvA_11_6">21,384</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-indent:36pt;margin:0pt;">Long-lived assets include the unamortized balance of right-of-use assets amounting to $<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseRightOfUseAsset" scale="6" id="Narr_uoIYbGKGXUSrjtJu7I73Sg">5.1</ix:nonFraction> million and $<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseRightOfUseAsset" scale="6" id="Narr_QL5yHdFAFUC3PBX_N_qIsg">4.3</ix:nonFraction> million as of December 31, 2023 and December 31, 2022, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><ix:nonFraction unitRef="Unit_Standard_customer_L07mCJvwDkuRDU6qXBuosg" contextRef="Duration_1_1_2023_To_12_31_2023_srt_MajorCustomersAxis_inod_OneClientMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_v9cM2ErFBEW4A75o1sqTTA" decimals="INF" format="ixt-sec:numwordsen" name="inod:NumberOfClient" scale="0" id="Narr_hHdIeFa5aUG_AiA59IBXvQ">One</ix:nonFraction> customer in the DDS segment generated approximately <ix:nonFraction unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg" contextRef="Duration_1_1_2023_To_12_31_2023_srt_MajorCustomersAxis_inod_OneClientMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_v9cM2ErFBEW4A75o1sqTTA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_Agr6LxPlM0e2lFbxwDrDig">10</ix:nonFraction>% of the Company&#8217;s total revenues in the fiscal year ended December 31, 2023. Another customer in the DDS segment generated approximately <ix:nonFraction unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg" contextRef="Duration_1_1_2022_To_12_31_2022_srt_MajorCustomersAxis_inod_TwoClientMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_Cfd5zrQQsUSS2QVh-CKFNQ" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_Zd61EDKVrUWTGtbA33Xt8g">11</ix:nonFraction>% of the Company&#8217;s total revenues in the fiscal year ended December 31, 2022. <ix:nonFraction unitRef="Unit_Standard_customer_L07mCJvwDkuRDU6qXBuosg" contextRef="Duration_1_1_2023_To_12_31_2023_srt_MajorCustomersAxis_inod_ClientMember_srt_StatementGeographicalAxis_country_US_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_CkIJNvV73Eew6QKg_jNFhw" decimals="INF" format="ixt-sec:numwordsen" name="inod:NumberOfClient" scale="0" id="Narr_IoiV1ZbkOkCCl1UpAomiCw">No</ix:nonFraction> other customer accounted for <ix:nonFraction unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg" contextRef="Duration_1_1_2023_To_12_31_2023_srt_MajorCustomersAxis_inod_ClientMember_srt_RangeAxis_srt_MinimumMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_wL6jRDzFb020zagpQ4Ygpg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_Ci6A0QpR50-17lRI4k5DMg">10</ix:nonFraction>% or more of total revenues during these periods. Further, in the&#160;years ended December 31, 2023 and 2022, revenues from non-U.S. customers accounted for <ix:nonFraction unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg" contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_us-gaap_NonUsMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_STsKk-a8DEKY3B2I_1Oy3w" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_dujRrWKFSkubQFU2Vd3lWw">37</ix:nonFraction>% and <ix:nonFraction unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg" contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_us-gaap_NonUsMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_rFmV0NtGg0SSi0G5txTSVg" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_W3M8o68BtUiQSPSE0bh2Ug">38</ix:nonFraction>%, respectively, of the Company&#8217;s revenues.</p><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="us-gaap:ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" id="Tb_VzODx0YX0UWWJX_npWp-Aw" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Revenues for each of the two&#160;years in the period ended December 31, 2023 and 2022 by geographic region (determined based upon customer domicile), were as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:40%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:55.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:55.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:17.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:17.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:55.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_US_iFLtBwWXw0aTJr5phU5fmA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="3" id="Tc_IhK-1-a27UCDUDznLdVExw_2_3">54,430</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_US_5hthIEYwm0eKGwFyxNDM6Q" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="3" id="Tc_Nx6oJNolzk-oO_B2FxS-Zw_2_6">48,724</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:55.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">United Kingdom </p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_GB_4mXwBS_lJ0mF5wsBlCd7pA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="3" id="Tc_izWWEV55wk2h-1yCTNcEGQ_3_3">10,766</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_GB_0sXgTTfeykWLEN1FuHAEhw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="3" id="Tc_jBktH3U-QkmOfoAKQOaEiw_3_6">10,901</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:55.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">The Netherlands</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_NL_k_leQGnSsEWgYiul_DRyrA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="3" id="Tc_EmvZc5Z_PEexu9ML9YYMvg_4_3">7,291</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_NL_xSsVJG2Br0yw55QMAs0AYA" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="3" id="Tc_1EO8Unqj9ESC5l8l7nENMQ_4_6">6,829</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:55.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Canada</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_CA_AOw3tuYUUUeHMssSM37RMw" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="3" id="Tc_PgZ-EzwXTkyDtmghTCFsRA_5_3">7,156</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_CA_HEGbN8jj5UKKBBZUq3vvig" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="3" id="Tc_e5-wAU5byESHNRWL7bGzlA_5_6">5,508</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:55.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Others - principally Europe</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_inod_OtherPrincipallyEuropeMember_kdhwqSqGT0O9PtPl-qkB6A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="3" id="Tc_BP55vPWUr0KTunWQ_eG5nw_6_3">7,132</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_inod_OtherPrincipallyEuropeMember_hBdIW5TnCEy1QdcKibvPWQ" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="3" id="Tc__BLHGHJYPUGGDxpMYRNHDg_6_6">7,039</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:55.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Totals</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="3" id="Tc_r4Y6dQrPAk-ooplpEaphNg_7_3">86,775</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Revenues" scale="3" id="Tc_baGlQ3H_YUKw6CrkkF5kpA_7_6">79,001</ix:nonFraction></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">As of December 31, 2023, approximately <ix:nonFraction unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg" contextRef="Duration_1_1_2023_To_12_31_2023_srt_MajorCustomersAxis_inod_ForeignCustomerMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_3vPdv9N500KQ0vK1-GhRJA" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_6Q3MO_91TkuJ8HcyhoW0fQ">31</ix:nonFraction>% of the Company&#8217;s accounts receivable was due from foreign (principally European) customers and <ix:nonFraction unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg" contextRef="Duration_1_1_2023_To_12_31_2023_srt_MajorCustomersAxis_inod_ThreeClientsMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_qmwWCbD92Umjf-TP88K6cw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_jwIWtS3KBEqObfZySC23KA">53</ix:nonFraction>% of accounts receivable was due from <ix:nonFraction unitRef="Unit_Standard_customer_L07mCJvwDkuRDU6qXBuosg" contextRef="Duration_1_1_2023_To_12_31_2023_srt_MajorCustomersAxis_inod_ThreeClientsMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_qmwWCbD92Umjf-TP88K6cw" decimals="INF" format="ixt-sec:numwordsen" name="inod:NumberOfClient" scale="0" id="Narr_psqjp93lak-UkGqZyyTILg">three</ix:nonFraction> customers. As of December 31, 2022, approximately <ix:nonFraction unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg" contextRef="Duration_1_1_2022_To_12_31_2022_srt_MajorCustomersAxis_inod_ForeignCustomerMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_m4Iw8m0UtEONWu-1WAeD1w" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_RBfSWQ-Xs0OHakzL_GutPw">44</ix:nonFraction>% of the Company&#8217;s accounts receivable was due from foreign (principally European) customers and <ix:nonFraction unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg" contextRef="Duration_1_1_2022_To_12_31_2022_srt_MajorCustomersAxis_inod_FourClientsMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_hKUD1oPjwk2k4Wgce-zdFw" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_UphLdjVOnk2a6wl2ttDfcQ">45</ix:nonFraction>% of accounts receivable was due from <ix:nonFraction unitRef="Unit_Standard_client_M0gpsvUdgEqG9qCLCiii6A" contextRef="Duration_1_1_2022_To_12_31_2022_srt_MajorCustomersAxis_inod_FourClientsMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_hKUD1oPjwk2k4Wgce-zdFw" decimals="INF" format="ixt-sec:numwordsen" name="inod:NumberOfClient" scale="0" id="Narr_6u7z_2RJqEqhyksmEWx52g">four</ix:nonFraction> customers. <ix:nonFraction unitRef="Unit_Standard_customer_L07mCJvwDkuRDU6qXBuosg" contextRef="Duration_1_1_2022_To_12_31_2022_srt_MajorCustomersAxis_inod_ClientMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_y7QYRaUgCkqMg2oElbakdQ" decimals="INF" format="ixt-sec:numwordsen" name="inod:NumberOfClient" scale="0" id="Narr__08lt0--hUy59Ow6yBEmNQ"><ix:nonFraction unitRef="Unit_Standard_customer_L07mCJvwDkuRDU6qXBuosg" contextRef="Duration_1_1_2023_To_12_31_2023_srt_MajorCustomersAxis_inod_ClientMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_PcZ7ozjHUEaNBqnE2Sdjjw" decimals="INF" format="ixt-sec:numwordsen" name="inod:NumberOfClient" scale="0" id="Narr_2YsBApdCk0qAmR5fuHjuoA">No</ix:nonFraction></ix:nonFraction> other customer accounted for <ix:nonFraction unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg" contextRef="Duration_1_1_2022_To_12_31_2022_srt_MajorCustomersAxis_inod_ClientMember_srt_RangeAxis_srt_MinimumMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_3CVCszgYdEKSonxTs4tK9w" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_GpiQQMw3g0Gws42AgxDCnw"><ix:nonFraction unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg" contextRef="Duration_1_1_2023_To_12_31_2023_srt_MajorCustomersAxis_inod_ClientMember_srt_RangeAxis_srt_MinimumMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_rdFMdzOXSU-smKLQzFV_6g" decimals="2" format="ixt:numdotdecimal" name="us-gaap:ConcentrationRiskPercentage1" scale="-2" id="Narr_g1j-_KSgP0WfGkvmXKADog">10</ix:nonFraction></ix:nonFraction>% or more of the accounts receivable as of December 31, 2023 and 2022.</p></ix:continuation><a id="Tc_Nn2Joi-GqEmo6Z2-bSaLRg_1_2"></a><a id="Tc_QqH2g_Q3uEGyzjMvO2W-tQ_2_2"></a><a id="Tc_gqQ-GFpQGUGsTXq0DtYudg_3_2"></a><a id="Tc_lxXtg_bQQ0aO8ytz5W8EYA_3_5"></a><a id="Tc_dWwVldOiS0aTSD5f4r6L3w_4_0"></a><a id="Tc_kwf-e60RHUKJKXfIrIUPCg_4_2"></a><a id="Tc_Q5sHvD3DKUapc4r6xBG10g_4_5"></a><a id="Tc_lPa5w3m1zkGeHu0G_ygBoA_5_0"></a><a id="Tc_gscsymzbDUeYwDSjPFfu2w_6_0"></a><a id="Tc_-r4zGizNmU6fo2FQJHwjQw_6_3"></a><a id="Tc_EaO2gEVr5UCgS_4osieKtA_6_6"></a><a id="Tc_1f0VqDYCvU6ltrOTIzDs5w_7_0"></a><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="us-gaap:EarningsPerShareTextBlock" id="Tb_exmnHH4OLkmstdhSBuPT4g" continuedAt="Tb_exmnHH4OLkmstdhSBuPT4g_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt;">15.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Loss per Share</p><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" id="Tb_yS7i8fR_00awvMPv_c_dAQ" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:69.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:69.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:28.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">For&#160;the&#160;Years&#160;Ended</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:28.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net loss attributable to Innodata Inc. and Subsidiaries </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.69%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="inod:NetIncomeLossAttributableToParent1" sign="-" scale="3" id="Tc_PeSO9Ml4uUeG8ceSNjXXaw_4_3">908</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.69%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="inod:NetIncomeLossAttributableToParent1" sign="-" scale="3" id="Tc_ewSQmswZHEiYh03UnZmIxg_4_6">11,935</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:69.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Weighted average common shares outstanding</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" id="Tc_4mgEk1GpQE-a2b-aWpGCrw_5_3">28,131</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="0" id="Tc_SCKlgjTMJEGDgwaXrERs2A_5_6">27,278</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:69.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Dilutive effect of outstanding options </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.69%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.69%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td></tr><tr><td style="vertical-align:bottom;width:69.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Adjusted for dilutive computation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.69%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="0" id="Tc_K-yPMw_mgEil7MRKyG_GNA_7_3">28,131</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.69%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="0" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="0" id="Tc_OxmRLTDd9EKz43DPXUxuQQ_7_6">27,278</ix:nonFraction></p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-34</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 18pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">INNODATA&#160;INC. AND SUBSIDIARIES</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt 0pt 12pt 0pt;">YEARS ENDED DECEMBER 31, 2023 AND 2022</p></div><div style="clear:both;max-width:100%;position:relative;"><ix:continuation id="Tb_exmnHH4OLkmstdhSBuPT4g_cont1"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Basic loss per share is computed using the weighted-average number of common shares outstanding during the&#160;year. Diluted income per share is computed by considering the impact of the potential issuance of common shares, using the treasury stock method, on the weighted average number of shares outstanding. For those securities that are not convertible into a class of common stock, the two-class method of computing loss per share is used.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Options to purchase <ix:nonFraction unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_us-gaap_EmployeeStockOptionMember_DPBvrTz6kkyaZw2HWXjVtQ" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="6" id="Narr_scUFNMxPR0ynVp9nAPTl7A">6.3</ix:nonFraction> million shares of common stock for the year ended December 31, 2023 were outstanding but not included in the computation of diluted loss per share because the effect would be antidilutive.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Options to purchase <ix:nonFraction unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw" contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_us-gaap_EmployeeStockOptionMember_l-ruXq15iEmvhjXE5yMAMw" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="6" id="Narr_s5afztr-WU-FKRmZ4n0TYA">5.3</ix:nonFraction> million shares of common stock for the year ended December 31, 2022 were outstanding but not included in the computation of diluted loss per share because the exercise price of the options were greater than the average market price of the common shares and therefore have not been considered as potential equity shares.</p></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><a id="_8b5c9a41_ffb8_4f28_8c44_f3031045a838"></a><a id="Tc_qMDV4vScY0KW2BTHjlGTOQ_1_2"></a><a id="Tc_luOW-WSXcUGKxPKwHmyLog_1_4"></a><a id="Tc_v7njFLpk3ECrCfIO29Xj4A_2_4"></a><a id="Tc_pQBzgXxUd0KElXF_kYDp2g_2_7"></a><a id="Tc_3q2etcJIzE-5sEBbOX2Dlw_3_0"></a><a id="Tc_7wp9lsPcNU6Qmrig-x1umg_4_0"></a><a id="Tc_K_ZVp41Q00qczPjT9yRG2Q_4_2"></a><a id="Tc_WXQDXfURV0qtPAg1wFHZ6g_4_4"></a><a id="Tc_SD7zMzirOU6iYeo4pyb--Q_4_5"></a><a id="Tc_P00jPcFTFkiP0vrzar0eeA_4_7"></a><a id="Tc_XJVlLNyOl0eKH-hp3qgLjA_5_0"></a><a id="Tc_QhZkRhG200ul--rm4wUNgQ_5_2"></a><a id="Tc_VJLIJmSCnU6unNZjlLkEag_5_4"></a><a id="Tc_VssQzRoPLUGBCae73PJWJQ_5_7"></a><a id="Tc_TWxy7HVKpUm2ceppKLt-bA_5_8"></a><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock" id="Tb_n4j5-nyF6kSB_u9c983u3A" continuedAt="Tb_n4j5-nyF6kSB_u9c983u3A_cont1" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">16.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Derivatives</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company conducts a large portion of its operations in international markets which subject it to foreign currency fluctuations. The most significant foreign currency exposures occur when revenue and associated accounts receivable are collected in one currency and expenses to generate revenues are incurred in another currency. The Company is also subject to wage inflation and other government mandated increases and operating expenses in Asian countries where the Company has the majority of its operations. The Company&#8217;s primary inflation and exchange rate exposure relates to payroll, other payroll costs and operating expenses in the Philippines, India, Sri Lanka and Israel.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">In addition, although most of the Company&#8217;s revenue is denominated in U.S. dollars, a significant portion of total revenues is denominated in Canadian dollars, Pound Sterling and Euros.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company&#8217;s policy is to enter derivative instrument contracts with terms that coincide with the underlying exposure being hedged for a period up to 12 months. As such, the Company&#8217;s derivative instruments are expected to be highly effective. For derivative instruments that are designated and qualify as cash flow hedges, the entire change in fair value of the hedging instrument is recorded to Other comprehensive income (loss). Upon settlement of these contracts, the change in the fair value recorded in Other comprehensive income (loss) are reclassified to earnings and included as part of Direct operating costs. For derivative instruments that are not designated as hedges, any change in fair value is recorded directly in earnings as part of Direct operating costs.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company formally documents all relationships between hedging instruments and hedged items, as well as its risk management objective and strategy for undertaking hedge transactions. The Company does not hold or issue derivatives for trading purposes. All derivatives are recognized at their fair value and classified based on the instrument&#8217;s maturity date. The total notional amount for outstanding derivatives designated as hedges was $<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:DerivativeNotionalAmount" scale="6" id="Narr_H5Ja1tTd006vUwaahRLx-g">10.5</ix:nonFraction> million and $<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:DerivativeNotionalAmount" scale="6" id="Narr_Lz35aabWxEq_RIWSPAQ_Cw">14.2</ix:nonFraction> million as of December 31, 2023 and 2022, respectively.</p><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="us-gaap:ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock" id="Tb_Lojic16JU0i8KyM5wDt6Ug" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The following table presents the fair value of derivative instruments included within the consolidated balance sheets as of December 31, 2023 and 2022 (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:40.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:30.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:40.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:30.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Balance&#160;Sheet&#160;Location</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Fair&#160;Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:40.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:30.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:40.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Derivatives designated as hedging instruments:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:30.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:40.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Foreign currency forward contracts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:30.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">Accrued expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.43%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2022_us-gaap_BalanceSheetLocationAxis_us-gaap_AccruedLiabilitiesMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_InbCQGc--UKcVGc-vpr2Rg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeInstrumentsAndHedgesLiabilities" scale="3" id="Tc_zmfzHhkVyUCoVH6LpFan7g_4_8">365</ix:nonFraction></p></td></tr><tr><td style="vertical-align:bottom;width:40.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Foreign currency forward contracts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:30.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">Prepaid expenses and other current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.43%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_us-gaap_BalanceSheetLocationAxis_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_AUfPf9OJf0G5NwXT0F9c1A" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DerivativeInstrumentsAndHedgesLiabilities" scale="3" id="Tc_UW_eVsbW_EWua8JeA045oQ_5_5">41</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td></tr></table></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p></ix:nonNumeric></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-35</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;min-height:14.4pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 18pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">INNODATA&#160;INC. AND SUBSIDIARIES</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;text-align:center;margin:0pt 0pt 12pt 0pt;">YEARS ENDED DECEMBER 31, 2023 AND 2022</p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_3d744266_7faa_4c65_9d23_9fe6d9048455"></a><a id="Tc_zvWIp6K7b0muuQGcT07w0g_1_2"></a><a id="Tc_G3COiMJ9eUiXwQpKJTp4JA_1_5"></a><a id="Tc_3gHJEhGAIUKrNeMkhPN5oA_2_0"></a><a id="Tc_hS7sHEdQkEaECZvdqmLD5Q_2_2"></a><a id="Tc_cNKpJGBLqECiZTjDEikakQ_2_5"></a><a id="Tc_Ru3G-FvUHkiDJK5um-uCwA_3_0"></a><a id="Tc_Ke9yMQplvU2UDp9HArlHHw_3_2"></a><a id="Tc__8yoJxLn6kiy3-HXahHTow_3_5"></a><a id="Tc_Mx1qgldH7UevqcETVLKx6w_4_0"></a><a id="Tc_Ed2kmT7y70C_YpZnxQ0lIQ_4_2"></a><a id="Tc_3Q0laTb8-0iANklUmkNNVg_4_3"></a><a id="Tc_HBOdAX1x6EmSsbcTIpEdig_4_5"></a><a id="Tc_wXhFbleKRkK2TrRbeYc7Ow_4_6"></a><a id="_9a4a01d0_9d62_4e03_b118_3c8269a12fc0"></a><a id="_aba2c29f_da4f_48cb_8ef2_85e241654890"></a><a id="_73db55fd_b672_4305_8bef_9165e3c50840"></a><ix:continuation id="Tb_n4j5-nyF6kSB_u9c983u3A_cont1"><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock" id="Tb_EJd4_sJtJ0WnbBNpbM2Uwg" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The effect of foreign currency forward contracts designated as cash flow hedges on the consolidated statements of operations for the&#160;years ended December 31, 2023 and 2022 were as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net gain (loss) recognized in OCI<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> <ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax" scale="3" id="Tc_yz0yJCadlEu29VXQOZ_bNQ_2_3">185</ix:nonFraction></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax" sign="-" scale="3" id="Tc_ykBbZAEtnEijjzEPD-vpCQ_2_6">1,118</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net loss reclassified from accumulated OCI into income<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodBeforeTax" sign="-" scale="3" id="Tc_4WCip74QEE22tL8n000imQ_3_3">221</ix:nonFraction>)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodBeforeTax" sign="-" scale="3" id="Tc_toDn0OLTOESAs7m6cZ6vog_3_6">1,106</ix:nonFraction>)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net gain recognized in income<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(3)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:5pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:6pt;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;">Net change in fair value of the effective portion classified into other comprehensive income (&#8220;OCI&#8221;)</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:6pt;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;">(2)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;">Effective portion classified within direct operating costs.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:6pt;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;">(3)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;">There were no ineffective portions for the period presented</span><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;">.</span></td></tr></table></ix:nonNumeric></ix:continuation><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 0pt 18pt;"><span style="margin-bottom:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="us-gaap:DebtDisclosureTextBlock" id="Tb_U11QGiwJXEO1bsaL0r8TRw" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><b style="font-weight:bold;">17.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Line of Credit</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">On April 4, 2023, the Company entered into a Credit Agreement (the &#8220;Credit Agreement&#8221;) with Wells Fargo Bank, National Association, as lender, and Innodata Inc., Innodata Synodex, LLC, Innodata docGenix, LLC and Agility PR Solutions LLC as co-borrowers. On July 21, 2023, Innodata Services LLC signed a Joinder Agreement to join the Credit Agreement as a co-borrower. The Credit Agreement provides for a secured revolving line of credit (the &#8220;Revolving Credit Facility&#8221;) up to an amount equal to the lesser of the borrowing base and $<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_4_4_2023_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_anRnKJhV_EGKUcG18ZpIpg" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="6" id="Narr_O3FqHgNTP0-GyC0MO9JziQ">10.0</ix:nonFraction> million with a maturity date of April 4, 2026. The Revolving Credit Facility&#8217;s borrowing base is calculated in accordance with the terms of the Credit Agreement and on the basis of <ix:nonFraction unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg" contextRef="As_Of_4_4_2023_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_anRnKJhV_EGKUcG18ZpIpg" decimals="2" format="ixt:numdotdecimal" name="inod:LineOfCreditFacilityPercentageOfEligibleAccountsConsideredForDeterminationOfBorrowingBase" scale="-2" id="Narr_h8cAmTtAnUW_Kzarae7Log">85</ix:nonFraction>% of eligible accounts, <ix:nonFraction unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg" contextRef="As_Of_4_4_2023_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_anRnKJhV_EGKUcG18ZpIpg" decimals="2" format="ixt:numdotdecimal" name="inod:LineOfCreditFacilityPercentageOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase" scale="-2" id="Narr_mlXpQvGfbkKHJ5MKW_meEA">85</ix:nonFraction>% of eligible foreign accounts up to $<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_4_4_2023_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_anRnKJhV_EGKUcG18ZpIpg" decimals="-5" format="ixt:numdotdecimal" name="inod:LineOfCreditFacilityMaximumAmountOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase" scale="6" id="Narr_HEjqkahKCkKvoubQtoKo_A">2.0</ix:nonFraction> million and certain other reserves and adjustments. As of December 31, 2023, such borrowing base calculation equaled approximately $<ix:nonFraction unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA" contextRef="As_Of_12_31_2023_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_qXmgvxTx802OU8AiQe7VYA" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityCurrentBorrowingCapacity" scale="6" id="Narr_KOIf23VRMUGbdxR1RKRlqA">10.0</ix:nonFraction> million. The Credit Agreement contains a financial covenant that requires the Borrowers, on a consolidated basis, to maintain a fixed charge coverage ratio of not less than <ix:nonFraction unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_Gt0Fc2emHkCNxWwCfSeNWw" decimals="2" format="ixt:numdotdecimal" name="inod:LineOfCreditFacilityCovenantTermsThresholdMinimumRequiredFixedChargeCoverageRatio" scale="0" id="Narr_GWMPEG8sKE-0WLVIENSlxQ">1.10</ix:nonFraction> to 1.00 by December 31, 2023. Except as set forth in the Credit Agreement, borrowings under the Revolving Credit Facility bear interest at a rate equal to the daily simple secured overnight financing rate (&#8220;SOFR&#8221;) plus <ix:nonFraction unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg" contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_us-gaap_VariableRateAxis_us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember_H1VS6g2bE0uHuDqDCyn7rA" decimals="4" format="ixt:numdotdecimal" name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" scale="-2" id="Narr_sLPyR151-UGC2Agi6M9pnw">2.25</ix:nonFraction>%. The Company has not utilized the Revolving Credit Facility during the year ended December 31, 2023 and through the date of filing of this Report.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></ix:nonNumeric><ix:nonNumeric contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg" name="us-gaap:SubsequentEventsTextBlock" id="Tb_lhheAw8bBEa2IfvFW624YQ" escape="true"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><b style="font-weight:bold;">18.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Subsequent Event</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">On February 21, 2024, a putative class action lawsuit was filed in the U.S. District Court for the District of New Jersey against the Company and certain of its current and former officers (D&#8217;Agostino v. Innodata Inc., et al., Case Number 2:24-CV-00971 (the &#8220;D&#8217;Agostino Complaint&#8221;). The D&#8217;Agostino Complaint asserts claims against all defendants for alleged violations of Section 10(b) of the Exchange Act and Rule 10b-5 promulgated thereunder and Section 20(a) of the Exchange Act. The D&#8217;Agostino Complaint alleges that defendants made materially false and misleading statements related to its AI business and development and related financial results, growth, and prospects. The D&#8217;Agostino Complaint seeks unspecified compensatory and punitive damages, costs, attorneys&#8217; fees, and other unspecified relief. The Company intends to defend against the D&#8217;Agostino Complaint vigorously. </p></ix:nonNumeric><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="display:none;font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:24pt 0pt 0pt 0pt;">F-36</p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 18pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><a id="_0526fa2b_bfa3_47ac_bcf1_940480d567fd"></a><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Exhibit Index update</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Exhibits which are indicated as being included in previous filings are incorporated herein by reference.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;table-layout:auto;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:top;width:7.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0pt 2pt;"><b style="font-weight:bold;">Exhibit</b></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="font-weight:bold;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><b style="font-weight:bold;">Description</b></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;</b></p></td><td style="vertical-align:top;width:46.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><b style="font-weight:bold;">Filed as Exhibit</b></p></td></tr><tr><td style="vertical-align:top;width:7.95%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;">3.1 (a)</p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/903651/000114420404003625/v02249_ex31a.txt"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Restated Certificate of Incorporation dated April 27, 1993</span></a></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Filed as Exhibit 3.1(a) to our Form 10-K for the year ended December 31, 2003</p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;">3.1 (b)</p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/903651/000114420404003625/v02249_ex31b.txt"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Certificate of Amendment of Certificate of Incorporation of Innodata Corporation dated February 28, 2001</span></a></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Filed as Exhibit 3.1(b) to our Form 10-K for the year ended December 31, 2003</p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0pt 44pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 44pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;">3.1 (c)</p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/903651/000114420404003625/v02249_ex31.txt"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Certificate of Amendment of Certificate of Incorporation of Innodata Corporation dated November 14, 2003</span></a></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Filed as Exhibit 3.1(c) to our Form 10-K for the year ended December 31, 2003</p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0pt 44pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 44pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;">3.1 (d)</p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/903651/000114420412043385/v320136_ex3-1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Certificate of Amendment of Certificate of Incorporation of Innodata Isogen, Inc. dated June 5, 2012</span></a></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Filed as Exhibit 3.1 to our Form 10-Q for the quarter ended June 30, 2012</p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;">3.2</p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/903651/000092281102000095/doc8.txt"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Form of Amended and Restated By-Laws</span></a></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Filed as Exhibit 3.1 to Form 8-K dated December 16, 2002</p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;">4.1</p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/903651/000114420415047205/v416923_ex4-1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Specimen of Common Stock certificate</span></a></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Filed as Exhibit 4.1 to Form 10-Q dated August 7, 2015</p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;">4.2</p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/903651/000141057822000489/inod-20211231xex4d2.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Description of the Registrant&#8217;s Securities Registered Pursuant to Section 12 of the Securities Exchange Act of 1934</span></a></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Filed as Exhibit 4.2 to our Form 10-K for the year ended December 31, 2021</p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;">10.1</p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/903651/000092281103000030/doc6.txt"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Form of Indemnification Agreement between us and our Directors and one of our Officers</span></a></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Filed as Exhibit 10.3 to Form 10-K for the year ended December 31, 2002</p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;">10.2</p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/903651/000114420407042365/v084083_ex10-1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Employment Agreement dated as of January 1, 2007 with Ashok Mishra*</span></a></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Filed as Exhibit 10.1 to Form 10-Q for the quarter ended June 30, 2007</p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;">10.3</p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/903651/000114420409016226/v0143882_ex10-1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Employment Agreement dated as of March 25, 2009 with Jack S. Abuhoff*</span></a></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Filed as Exhibit 10.1 to Form 8-K dated March 25, 2009</p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;">10.4</p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/903651/000114420411040368/v228554_ex10-1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Amendment to Employment Agreement with Jack S. Abuhoff dated as of July 11, 2011*</span></a></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Filed as Exhibit 10.1 to Form 8-K dated July 12, 2011</p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;">10.5</p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/903651/000114420416087840/v433526_ex10-53.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Form of Stock Option Grant Letter for December 31, 2015 Grant, for Messrs. Abuhoff, Mishra and Nalavadi*</span></a></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Filed as Exhibit 10.53 to Form 10-K dated March 14, 2016</p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;">10.6</p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/903651/000114420416094736/v437135_def14a.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Innodata Inc. 2013 Stock Plan (as Amended and Restated effective June 7, 2016)</span></a></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Filed as Annex B to Definitive Proxy dated April 18, 2016</p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;">10.7</p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/903651/000114420417014715/v461393_ex10-56.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Form of Stock Option Grant Letter for December 31, 2016 Grant, for Directors*</span></a></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Filed as Exhibit 10.56 to Form 10-K dated March 15, 2017</p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 18pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;table-layout:auto;width:100%;"><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;">10.8 </p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/903651/000114420417014715/v461393_ex10-57.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Form of Stock Option Grant Letter For December 31, 2016 Grant, for Messrs. Abuhoff, Mishra and Nalavadi*</span></a> </p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Filed as Exhibit 10.57 to Form 10-K dated March 15, 2017</p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;">10.9</p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/903651/000114420418046633/tv501863_ex10-1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Amendment Number 1 dated August 24, 2018 to Agreement dated January 1, 2007 between the Company and Mr. Mishra*</span></a> </p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Filed as Exhibit 10.1 to Form 8-K dated August 28, 2018</p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;">10.10</p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/903651/000114420419015946/tv516211_ex10-59.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Form of Stock Option Grant Letter for July 13, 2018 Grant, for Directors*</span></a></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Filed as Exhibit 10.59 to Form 10-K dated March 26, 2019</p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;">10.11</p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/903651/000114420419015946/tv516211_ex10-60.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Form of Stock Option Grant Letter for July 13, 2018 Grant, for Messrs. Abuhoff and Mishra*</span></a></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Filed as Exhibit 10.60 to Form 10-K dated March 26, 2019</p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0pt 44pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 44pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;">10.12</p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/903651/000110465922050043/tm2213203d1_def14a.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Innodata Inc. 2021 Equity Compensation Plan, amended and restated effective as of April 11, 2022</span></a></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Filed as Appendix A to Definitive Proxy Statement dated April 26, 2022</p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0pt 44pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 44pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;">10.13</p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/903651/000110465921081849/tm2119719d1_ex10-1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Form of Innodata Inc. 2021 Equity Compensation Plan Nonqualified Stock Option Award Agreement for Employees*</span></a></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Filed as Exhibit 10.1 to S-8 Registration Statement dated June 16, 2021</p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;">10.14</p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/903651/000110465921081849/tm2119719d1_ex10-2.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Form of Innodata Inc. 2021 Equity Compensation Plan Nonqualified Stock Option Award Agreement for Directors*</span></a></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Filed as Exhibit 10.2 to S-8 Registration Statement dated June 16, 2021</p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0pt 44pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 44pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;">10.15</p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="-sec-extract:exhibit;" href="https://www.sec.gov/Archives/edgar/data/903651/000110465922026122/tm227453d1_ex10-1.htm">Form of Indemnification Agreement between Innodata Inc. and each of its Named Executive </a></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="-sec-extract:exhibit;" href="https://www.sec.gov/Archives/edgar/data/903651/000110465922026122/tm227453d1_ex10-1.htm">Officers and Directors*</a></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Filed as Exhibit 10.1 to Form 8-K dated February 23, 2022</p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;">10.16</p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/903651/000110465923042168/tm2311450d1_ex10-1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Credit Agreement, dated as of April 4, 2023, by and among Innodata Inc., Innodata Synodex, LLC, Innodata Docgenix, LLC, and Agility PR Solutions LLC as borrowers, and Wells Fargo Bank, National Association, as lender (incorporated herein by reference to Exhibit 10.1 to the 8-K filed with the Securities and Exchange Commission on April 5, 2023)</span></a></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Filed as Exhibit 10.1 to Form 10-Q dated May 11, 2023</p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;">10.17</p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/903651/000110465923042168/tm2311450d1_ex10-2.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Security Agreement, dated as of April 4, 2023, by and among Innodata Inc., Innodata Synodex, LLC, Innodata Docgenix, LLC, and Agility PR Solutions LLC as grantors, and Wells Fargo Bank, National Association, as secured party (incorporated herein by reference to Exhibit 10.2 to the 8-K filed with the Securities and Exchange Commission on April 5, 2023)</span></a></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Filed as Exhibit 10.1 to Form 10-Q dated May 11, 2023</p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 18pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;table-layout:auto;width:100%;"><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;">10.18</p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/903651/000110465923042168/tm2311450d1_ex10-3.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Guaranty, dated as of April 4, 2023, by and among Innodata Inc., Innodata Synodex, LLC, Innodata Docgenix, LLC, and Agility PR Solutions LLC as guarantors, and Wells Fargo Bank, National Association, as lender (incorporated herein by reference to Exhibit 10.3 to the 8-K filed with the Securities and Exchange Commission on April 5, 2023).</span></a></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Filed as Exhibit 10.1 to Form 10-Q dated May 11, 2023</p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;">10.19</p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Joinder No.1 dated as of July 21, 2023 to <a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/903651/000110465923042168/tm2311450d1_ex10-1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">(1) Credit Agreement, dated as of April 4, 2023, by and among Innodata Inc., Innodata Synodex, LLC, Innodata Docgenix, LLC, and Agility PR Solutions LLC as borrowers, and Wells Fargo Bank, National Association, as lender (incorporated by reference to Exhibit 10.1 of the Company&#8217;s Current Report on Form 8-K filed on April 5, 2023);</span></a> <a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/903651/000110465923042168/tm2311450d1_ex10-2.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">(2) Security Agreement, dated as of April 4, 2023, by and among Innodata Inc., Innodata Synodex, LLC, Innodata Docgenix, LLC, and Agility PR Solutions LLC as grantors, and Wells Fargo Bank, National Association, as secured party (incorporated by reference to Exhibit 10.2 of the Company&#8217;s Current Report on Form 8-K filed on April 5, 2023;</span></a> <a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/903651/000110465923042168/tm2311450d1_ex10-3.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">and</span></a> <a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="https://www.sec.gov/Archives/edgar/data/903651/000110465923042168/tm2311450d1_ex10-3.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">(3) Guaranty, dated as of April 4, 2023, by and among Innodata Inc., Innodata Synodex, LLC, Innodata Docgenix, LLC, and Agility PR Solutions LLC as guarantors, and Wells Fargo Bank, National Association, as lender (incorporated by reference to Exhibit 10.3 of the Company&#8217;s Current Report on Form 8-K filed on April 5, 2023).</span></a></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Filed as Exhibit 10.1 to Form 10-Q dated November 2, 2023</p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;">10.20</p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="inod-20231231xex10d20.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Form of Innodata Inc. 2021 Equity Compensation Plan Restricted Stock Option Award Agreement for Directors*</span></a></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Filed herewith</p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0pt 44pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 44pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;">21</p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="inod-20231231xex21.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Significant subsidiaries of the registrant</span></a></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Filed herewith</p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;">23</p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="inod-20231231xex23.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Consent of BDO India LLP</span></a></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Filed herewith</p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;">31.1</p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="inod-20231231xex31d1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Certification of Chief Executive Officer pursuant to Section 302 of the Sarbanes-Oxley Act of 2002</span></a></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Filed herewith</p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0pt 44pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 44pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;">31.2</p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="inod-20231231xex31d2.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Certification of Chief Financial Officer pursuant to Section 302 of the Sarbanes-Oxley Act of 2002.</span></a></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Filed herewith</p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0pt 44pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 44pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;">32.1</p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="inod-20231231xex32d1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Certification Pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002.</span></a></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Furnished herewith</p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0pt 44pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 44pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr></table></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;page-break-after:always;width:88.24%;border:0;margin:30pt 5.88% 30pt 5.88%;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:21.6pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 18pt 0pt;"><a href="#TOC"><span style="font-style:normal;font-weight:normal;">Table of Contents</span></a></p></div><div style="clear:both;max-width:100%;position:relative;"><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;table-layout:auto;width:100%;"><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;">32.2</p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="inod-20231231xex32d2.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Certification Pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002.</span></a></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Furnished herewith</p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;">97.1</p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><a style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;" href="inod-20231231xex97d1.htm"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Innodata Inc. Compensation Recoupment Policy</span></a></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Filed herewith</p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0pt 44pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 44pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;">101</p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 2pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Interactive data files pursuant to Rule 405 of Regulation S-T:</p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Filed herewith</p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0pt 44pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0pt 44pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">(i) the Consolidated Balance Sheets,</p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0pt 44pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0pt 44pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">(ii) the Consolidated Statements of Operations and Comprehensive Loss,</p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0pt 44pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0pt 44pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">(iii) the Consolidated Statements of Stockholders&#8217; Equity,</p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0pt 44pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0pt 44pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">(iv) the Consolidated Statements of Cash Flows and (v) the Notes to the Consolidated Financial Statements</p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0pt 44pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0pt 44pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:top;width:7.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 2pt;">104</p></td><td style="vertical-align:top;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0pt 44pt;"><span style="margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:41.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Cover Page Interactive Data File</p></td><td style="vertical-align:top;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;width:46.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;">Included in Exhibit 101.</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">* </b>Exhibit represents a management contract or compensatory plan, contract or arrangement required to be filed as Exhibits to this Annual Report on Form 10-K.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:2pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;margin:0pt 0pt 0pt 54pt;"><span style="font-size:1pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p></div></div>
<div style="background-color:#000000;clear:both;height:2pt;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:avoid;width:88.24%;border:0;"></div></body></html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-10.20
<SEQUENCE>2
<FILENAME>inod-20231231xex10d20.htm
<DESCRIPTION>EX-10.20
<TEXT>
<!--Enhanced HTML document created with Toppan Merrill Bridge  10.5.122.0--><!--Created on: 3/4/2024 03:31:19 PM (UTC)--><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta charset="UTF-8"><title></title></head><body><div style="margin-top:30pt;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Exhibit 10.20</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 12pt 0pt;">Non-Employee Director Form</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">INNODATA INC. 2021 EQUITY COMPENSATION PLAN</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">RESTRICTED STOCK UNIT AGREEMENT</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">This RESTRICTED STOCK UNIT AGREEMENT (the &#8220;<u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Agreement</u>&#8221;), dated as of [&#9679;] (the &#8220;<u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Date of Grant</u>&#8221;), is delivered by Innodata Inc., &#160;(the &#8220;<u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Company</u>&#8221;) to [&#9679;] (the &#8220;<u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Participant</u>&#8221;).</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 12pt 0pt;"><u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">RECITALS</u></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The Innodata Inc. 2021 Equity Compensation Plan, as amended (the &#8220;<u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Plan</u>&#8221;) provides for the grant of restricted stock units in accordance with the terms and conditions of the Plan. &#160;The Committee has decided to make this grant of restricted stock units as an inducement for the Participant to promote the best interests of the Company and its stockholders. &#160;The Participant hereby acknowledges the receipt of a copy of the Plan and the official Plan prospectus, each of which have been provided with this Agreement. &#160;Paper copies of the Plan and the official Plan prospectus are available by contacting the General Counsel of the Company at 201-371-8017 or aagress@innodata.com. &#160;This Agreement is made pursuant to the Plan and is subject in its entirety to all applicable provisions of the Plan. &#160;Capitalized terms used herein and not otherwise defined will have the meanings set forth in the Plan.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">For this Agreement to be valid, the Participant must return a copy of this Agreement to Amy Agress, SVP and General Counsel, Innodata Inc., email aagress@innodata.com.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:36pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">1.</font></font><u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Grant of Stock Units</u>. &#160;Subject to the terms and conditions set forth in this Agreement and in the Plan, the Company hereby grants the Participant [&#9679;] restricted stock units, subject to the restrictions set forth below and in the Plan (the &#8220;<u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Stock Units</u>&#8221;). &#160;Each Stock Unit represents the right of the Participant to receive a share of common stock of the Company (&#8220;<u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Company Stock</u>&#8221;), if and when the specified conditions are met in Section 3 below, and on the applicable payment date set forth in Section 5 below.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:36pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">2.</font></font><u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Stock Unit Account</u>. &#160;Stock Units represent hypothetical shares of Company Stock, and not actual shares of stock. &#160;The Company shall establish and maintain a Stock Unit account, as a bookkeeping account on its records, for the Participant and shall record in such account the number of Stock Units granted to the Participant. &#160;No shares of Company Stock shall be issued to the Participant at the time the grant is made, and the Participant shall not be, and shall not have any of the rights or privileges of, a stockholder of the Company with respect to any Stock Units recorded in the Stock Unit account. &#160;The Participant shall not have any interest in any fund or specific assets of the Company by reason of this award or the Stock Unit account established for the Participant.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-indent:0pt;width:36pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">3.</font></font><u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Vesting</u>.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:36pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">(a)</font></font>The Stock Units shall become vested with respect to 100% of the Stock Units on the earlier of (i) one year from Date of Grant or (ii) the date of Innodata&#8217;s [&#9679;] Annual Meeting of Stockholders (the &#8220;<u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Vesting Date</u>&#8221;), provided that the Participant continues to be employed by, or provide service to, the Company from the Date of Grant until the Vesting Date. Notwithstanding the foregoing, if the Participant terminates service due to death or Disability or if a Change in</p><p style="display:none;line-height:0pt;margin:0pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:0pt;visibility:hidden;">&#8203;</font></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-bottom:30pt;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:always;width:88.24%;border-width:0;"><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">Control occurs while the Participant is providing services to the Company, 100% of the Stock Units shall become immediately vested.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:36pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">(b)</font></font>The vesting of the Stock Units shall be cumulative, but shall not exceed 100% of the Stock Units.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:36pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">4.</font></font><u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Termination of Stock Units</u>. &#160;Except as set forth herein, if the Participant ceases to be employed by, or provide service to, the Company for any reason before all of the Stock Units vest, any unvested Stock Units shall automatically terminate and shall be forfeited as of the date of the Participant&#8217;s termination of employment or service. &#160;No payment shall be made with respect to any unvested Stock Units that terminate as described in this Section 4.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:36pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">5.</font></font><u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Payment of Stock Units and Tax Withholding</u>.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:36pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">(a)</font></font>If and when the Stock Units vest, the Company shall issue to the Participant one share of Company Stock for each vested Stock Unit. &#160;Payment of any Stock Units that vest shall be made within 30 days after the Vesting Date.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:36pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">(b)</font></font>All obligations of the Company under this Agreement shall be subject to the rights of the Company as set forth in the Plan to withhold amounts required to be withheld for any taxes, if applicable. &#160;The Participant shall be required to provide for the payment of, any federal, state, local or other taxes with respect to the Stock Units.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:36pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">(c)</font></font>The obligation of the Company to deliver Company Stock shall also be subject to the condition that if at any time the Committee shall determine in its discretion that the listing, registration or qualification of the shares upon any securities exchange or under any state or federal law, or the consent or approval of any governmental regulatory body is necessary or desirable as a condition of, or in connection with, the issuance of shares, the shares may not be issued in whole or in part unless such listing, registration, qualification, consent or approval shall have been effected or obtained free of any conditions not acceptable to the Committee. &#160;The issuance of shares, if any, to the Participant pursuant to this Agreement is subject to any applicable taxes and other laws or regulations of the United States or of any state, municipality or other country having jurisdiction thereof.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:36pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">6.</font></font><u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">No Stockholder Rights; Dividend Equivalents</u>. &#160;Neither the Participant, nor any person entitled to receive payment in the event of the Participant&#8217;s death, shall have any of the rights and privileges of a stockholder with respect to shares of Company Stock, including voting or dividend rights, until certificates for shares have been issued upon payment of Stock Units. &#160;The Participant acknowledges that no election under Section&#160;83(b)&#160;of the Code is available with respect to Stock Units. &#160;Notwithstanding the foregoing, the Committee may grant to the Participant Dividend Equivalents on the shares underlying the Stock Units prior to the Vesting Date, which shall be credited to the Stock Unit account for the Participant and will be paid or distributed in accordance with this Agreement and the Plan.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:36pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">7.</font></font><u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Grant Subject to Plan Provisions</u>. &#160;This grant is made pursuant to the Plan, the terms of which are incorporated herein by reference, and in all respects shall be interpreted in accordance with the Plan. &#160;The grant and payment of the Stock Units are subject to the provisions of the Plan and to interpretations, regulations and determinations concerning the Plan established from time</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">2</p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-bottom:30pt;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:always;width:88.24%;border-width:0;"><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">to time by the Committee in accordance with the provisions of the Plan, including, but not limited to, provisions pertaining to (a) rights and obligations with respect to withholding taxes, (b) the registration, qualification or listing of the shares of Company Stock, (c) changes in capitalization of the Company and (d) other requirements of applicable law. &#160;The Committee shall have the authority to interpret and construe the Stock Units pursuant to the terms of the Plan, and its decisions shall be conclusive as to any questions arising hereunder.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:36pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">8.</font></font><u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">No Service or Other Rights</u>. &#160;The grant of the Stock Units shall not confer upon the Participant any right to be retained by or in the service of the Company and shall not interfere in any way with the right of the Company to terminate the Participant&#8217;s service at any time.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:36pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">9.</font></font><u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Assignment and Transfers</u>. &#160;Except as the Committee may otherwise permit pursuant to the Plan, the rights and interests of the Participant under this Agreement may not be sold, assigned, encumbered or otherwise transferred except, in the event of the death of the Participant, by will or by the laws of descent and distribution. &#160;In the event of any attempt by the Participant to alienate, assign, pledge, hypothecate, or otherwise dispose of the Stock Units or any right hereunder, except as provided for in this Agreement, or in the event of the levy or any attachment, execution or similar process upon the rights or interests hereby conferred, the Company may terminate the Stock Units by notice to the Participant, and the Stock Units and all rights hereunder shall thereupon become null and void. &#160;The rights and protections of the Company hereunder shall extend to any successors or assigns of the Company and to the Company&#8217;s parents, subsidiaries, and affiliates. &#160;This Agreement may be assigned by the Company without the Participant&#8217;s consent.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:36pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">10.</font></font><u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Applicable Law</u>. &#160;The validity, construction, interpretation and effect of this Agreement shall be governed by and construed in accordance with the laws of the State of Delaware, without giving effect to the conflicts of laws provisions thereof.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:36pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">11.</font></font><u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Notice</u>. &#160;Any notice to the Company provided for in this instrument shall be addressed to the Company in care of the General Counsel at the corporate headquarters of the Company, and any notice to the Participant shall be addressed to such Participant at the current address shown on the records of the Company. &#160;Any notice shall be delivered by hand or enclosed in a properly sealed envelope addressed as stated above, registered and deposited, postage prepaid, in a post office regularly maintained by the United States Postal Service or by electronic mail to legal@innodata.com.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:36pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">12.</font></font><u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Company Policies</u>. &#160;The Participant agrees that, subject to the requirements of applicable law, the Stock Units, and the right to receive and retain any Company Stock covered by this Agreement, shall be subject to any applicable clawback or recoupment policies, share trading policies and other policies that may be implemented by the Board or imposed under applicable rule or regulation from time to time.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:36pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">13.</font></font><u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Application of Section 409A of the Code</u>. &#160;This Agreement is intended to be exempt from Section 409A of the Code under the &#8220;short-term deferral&#8221; exception and to the extent this Agreement is subject to Section 409A of the Code, it will in all respects be administered in accordance with Section 409A. &#160;Notwithstanding the foregoing, if the Stock Units constitute &#8220;deferred compensation&#8221; under Section 409A of the Code and the Stock Units become vested and settled upon the Participant&#8217;s termination of employment, payment with respect to the Stock Units</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">3</p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-bottom:30pt;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:always;width:88.24%;border-width:0;"><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">shall be delayed for a period of six months after the Participant&#8217;s termination of employment if the Participant is a &#8220;specified employee&#8221; as defined under Section 409A of the Code and if required pursuant to Section 409A of the Code. &#160;If payment is delayed, the Stock Units shall be settled and paid within thirty (30) days after the date that is six (6) months following the Participant&#8217;s termination of employment. &#160;Payments with respect to the Stock Units may only be paid in a manner and upon an event permitted by Section 409A of the Code, and each payment under the Stock Units shall be treated as a separate payment, and the right to a series of installment payments under the Stock Units shall be treated as a right to a series of separate payments. &#160; In no event shall the Participant, directly or indirectly, designate the calendar year of payment. &#160;The Company may change or modify the terms of this Agreement without the Participant&#8217;s consent or signature if the Company determines, in its sole discretion, that such change or modification is necessary for purposes of compliance with or exemption from the requirements of Section 409A of the Code or any regulations or other guidance issued thereunder.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 12pt 0pt;"><font style="font-style:italic;font-weight:bold;">[Signature Page Follows]</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">4</p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-bottom:30pt;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:always;width:88.24%;border-width:0;"><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">IN WITNESS WHEREOF, the Company has caused its duly authorized officer to execute this Agreement, and the Participant has executed this Agreement, effective as of the Date of Grant.</p><div><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;table-layout:auto;width:100%;" align="center"><tr style="height:1pt;"><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div></div></td><td style="vertical-align:top;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div></div></td><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">INNODATA INC.</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:49%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Name:</p></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Title:</p></td></tr></table></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">I hereby accept the award of Stock Units described in this Agreement, and I agree to be bound by the terms of the Plan and this Agreement. &#160;I hereby agree that all decisions and determinations of the Committee with respect to the Stock Units shall be final and binding.</p><div><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;table-layout:auto;width:100%;" align="center"><tr style="height:1pt;"><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div></div></td><td style="vertical-align:top;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div></div></td><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr><td style="vertical-align:bottom;width:49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td></tr><tr><td style="vertical-align:bottom;width:49%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Date</p></td><td style="vertical-align:top;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;width:49%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Participant</p></td></tr></table></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">5</p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:avoid;width:88.24%;border-width:0;"></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-21
<SEQUENCE>3
<FILENAME>inod-20231231xex21.htm
<DESCRIPTION>EX-21
<TEXT>
<!--Enhanced HTML document created with Toppan Merrill Bridge  10.5.122.0--><!--Created on: 3/4/2024 03:31:19 PM (UTC)--><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta charset="UTF-8"><title></title></head><body><div style="margin-top:30pt;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">Exhibit 21</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">Significant Subsidiaries</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:12pt;visibility:hidden;">&#8203;</font></p><div><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;" align="center"><tr><td style="vertical-align:bottom;width:36.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-weight:bold;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:30.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:30%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Name&#160;under</b></p></td></tr><tr><td style="vertical-align:bottom;width:36.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-weight:bold;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-weight:bold;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;white-space:nowrap;width:30.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">State&#160;or&#160;other</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-weight:bold;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;white-space:nowrap;width:30%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">which&#160;subsidiary</b></p></td></tr><tr><td style="vertical-align:bottom;width:36.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-weight:bold;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-weight:bold;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;white-space:nowrap;width:30.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">jurisdiction&#160;of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-weight:bold;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;white-space:nowrap;width:30%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">conducts</b></p></td></tr><tr><td style="vertical-align:bottom;width:36.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Name of Subsidiary</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-weight:bold;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;white-space:nowrap;width:30.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">incorporation</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-weight:bold;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;white-space:nowrap;width:30%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">business</b></p></td></tr><tr><td style="vertical-align:bottom;width:36.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-weight:bold;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-weight:bold;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;white-space:nowrap;width:30.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><font style="font-weight:bold;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-weight:bold;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;white-space:nowrap;width:30%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><font style="font-weight:bold;visibility:hidden;">&#8203;</font></p></td></tr><tr><td style="vertical-align:bottom;width:36.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Innodata India Private Limited</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;white-space:nowrap;width:30.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">India</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;white-space:nowrap;width:30%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Same</p></td></tr><tr><td style="vertical-align:bottom;width:36.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Innodata Knowledge Services, Inc.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;white-space:nowrap;width:30.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Philippines</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;white-space:nowrap;width:30%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Same</p></td></tr><tr><td style="vertical-align:bottom;width:36.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Agility PR Solutions Canada Ltd.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;white-space:nowrap;width:30.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Canada</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;white-space:nowrap;width:30%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Same</p></td></tr><tr><td style="vertical-align:bottom;width:36.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">ESS Manufacturing Co. Inc.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;white-space:nowrap;width:30.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Philippines</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;white-space:nowrap;width:30%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Same</p></td></tr><tr><td style="vertical-align:bottom;width:36.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Innodata Book Distribution Services Ltd.</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;white-space:nowrap;width:30.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Hong Kong</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:bottom;white-space:nowrap;width:30%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Same</p></td></tr></table></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:avoid;width:88.24%;border-width:0;"></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-23
<SEQUENCE>4
<FILENAME>inod-20231231xex23.htm
<DESCRIPTION>EX-23
<TEXT>
<!--Enhanced HTML document created with Toppan Merrill Bridge  10.5.122.0--><!--Created on: 3/4/2024 03:31:19 PM (UTC)--><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta charset="UTF-8"><title></title></head><body><div style="margin-top:30pt;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">Exhibit 23</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">CONSENT OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="font-size:11pt;">We hereby consent to the incorporation by reference in the registration statements on Form S-8 (File Nos. 333-193051, 333-201659, 333-215130, 333-257129, and 333-265608) and the registration statements on Form S-3 (File Nos. 333-91649 and 333-51400) of our report, dated March 4, 2024 relating to the consolidated financial statements of Innodata Inc. as of December 31, 2023 and 2022, and for the years then ended, included in this Annual Report on Form 10-K of Innodata Inc. for the year ended December 31, 2023.</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="font-size:11pt;">/s/ BDO INDIA LLP</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;">Mumbai, India</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="font-size:11pt;">March 4, 2024</font></p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:avoid;width:88.24%;border-width:0;"></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.1
<SEQUENCE>5
<FILENAME>inod-20231231xex31d1.htm
<DESCRIPTION>EX-31.1
<TEXT>
<!--Enhanced HTML document created with Toppan Merrill Bridge  10.5.122.0--><!--Created on: 3/4/2024 03:31:19 PM (UTC)--><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta charset="UTF-8"><title></title></head><body><div style="margin-top:30pt;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">Exhibit 31.1</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><font style="font-size:11pt;">CERTIFICATIONS</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;">I, Jack S. Abuhoff, certify that:</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:36pt;text-align:justify;text-indent:-36pt;margin:0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:18pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">1.</font></font><font style="font-size:11pt;">I have reviewed this annual report on Form 10-K of Innodata Inc.;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">2.</font></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">Based on my knowledge, this annual report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this annual report;</font></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">3.</font></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">Based on my knowledge, the financial statements, and other financial information included in this annual report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this annual report;</font></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">4.</font></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">The registrant&#8217;s other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and we have:</font></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:18pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:27pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">a)</font></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this annual report is being prepared;</font></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:27pt;text-align:justify;text-indent:-27pt;margin:0pt 0pt 0pt 18pt;"><font style="font-size:11pt;margin-left:0pt;visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:18pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:27pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">b)</font></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;</font></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:27pt;text-align:justify;text-indent:-27pt;margin:0pt 0pt 0pt 18pt;"><font style="font-size:11pt;margin-left:0pt;visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:18pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:27pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">c)</font></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">evaluated the effectiveness of the registrant&#8217;s disclosure controls and procedures and presented in this annual report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation;&#160;and</font></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:27pt;text-align:justify;text-indent:-27pt;margin:0pt 0pt 0pt 18pt;"><font style="font-size:11pt;margin-left:0pt;visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:18pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:27pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">d)</font></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">disclosed in this report any change in the registrant&#8217;s internal control over financial reporting that occurred during the registrant&#8217;s fourth fiscal quarter that has materially affected, or is reasonably likely to materially affect, the registrant&#8217;s internal control over financial reporting.</font></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">5.</font></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">The registrant&#8217;s other certifying officers and I have disclosed, based on our most recent evaluation of internal controls over financial reporting, to the registrant&#8217;s auditors and the audit committee of registrant&#8217;s board of directors (or persons performing the equivalent function):</font></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 0pt 18pt;"><font style="font-size:11pt;margin-left:0pt;visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:18pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:27pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">a)</font></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">all significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant&#8217;s ability to record, process, summarize and report financial information; and</font></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:27pt;text-align:justify;text-indent:-27pt;margin:0pt 0pt 0pt 18pt;"><font style="font-size:11pt;margin-left:0pt;visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:18pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:27pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">b)</font></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant&#8217;s internal control over financial reporting.</font></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;">Dated: March 4, 2024</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:12pt;visibility:hidden;">&#8203;</font></p><div><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;width:67.5%;" align="center"><tr><td style="vertical-align:top;width:52.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:47.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;">/s/ Jack S. Abuhoff</font></p></td></tr><tr><td style="vertical-align:top;width:52.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:47.07%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;">Jack S. Abuhoff </font></p></td></tr><tr><td style="vertical-align:top;width:52.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:47.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;">Chief Executive Officer and President</font></p></td></tr></table></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:avoid;width:88.24%;border-width:0;"></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.2
<SEQUENCE>6
<FILENAME>inod-20231231xex31d2.htm
<DESCRIPTION>EX-31.2
<TEXT>
<!--Enhanced HTML document created with Toppan Merrill Bridge  10.5.122.0--><!--Created on: 3/4/2024 03:31:38 PM (UTC)--><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta charset="UTF-8"><title></title></head><body><div style="margin-top:30pt;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">Exhibit 31.2</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><font style="font-size:11pt;">CERTIFICATIONS</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;">I, Marissa B. Espineli, certify that:</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:54pt;text-align:justify;text-indent:-54pt;margin:0pt;"><font style="display:inline-block;text-align:left;text-indent:0pt;width:18pt;"><font style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">1.</font></font><font style="font-size:11pt;">I have reviewed this annual report on Form 10-K of Innodata Inc.;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">2.</font></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">Based on my knowledge, this annual report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this annual report;</font></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">3.</font></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">Based on my knowledge, the financial statements, and other financial information included in this annual report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this annual report;</font></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">4.</font></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">The registrant&#8217;s other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and we have:</font></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:18pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:28.8pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">a)</font></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this annual report is being prepared;</font></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 0pt 36pt;"><font style="font-size:11pt;margin-left:0pt;visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:18pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:28.8pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">b)</font></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;</font></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:18pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:28.8pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">c)</font></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">evaluated the effectiveness of the registrant&#8217;s disclosure controls and procedures and presented in this annual report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation;&#160;and</font></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 0pt 18pt;"><font style="font-size:11pt;margin-left:0pt;visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:18pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:28.8pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">d)</font></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">disclosed in this report any change in the registrant&#8217;s internal control over financial reporting that occurred during the registrant&#8217;s fourth fiscal quarter that has materially affected, or is reasonably likely to materially affect, the registrant&#8217;s internal control over financial reporting.</font></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 0pt 18pt;"><font style="font-size:11pt;margin-left:0pt;visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">5.</font></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">The registrant&#8217;s other certifying officers and I have disclosed, based on our most recent evaluation of internal controls over financial reporting, to the registrant&#8217;s auditors and the audit committee of registrant&#8217;s board of directors (or persons performing the equivalent function):</font></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 0pt 18pt;"><font style="font-size:11pt;margin-left:0pt;visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:18pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:27pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">a)</font></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">all significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant&#8217;s ability to record, process, summarize and report financial information; and</font></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:27pt;text-align:justify;text-indent:-27pt;margin:0pt 0pt 0pt 36pt;"><font style="font-size:11pt;margin-left:0pt;visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:18pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:27pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">b)</font></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant&#8217;s internal control over financial reporting.</font></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;">Dated: March 4, 2024</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p><div><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;width:60.84%;" align="center"><tr><td style="vertical-align:top;width:57.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:12pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:42.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;">/s/ Marissa B. Espineli</font></p></td></tr><tr><td style="vertical-align:top;width:57.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:12pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:42.45%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;">Marissa B. Espineli</font></p></td></tr><tr><td style="vertical-align:top;width:57.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:12pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:42.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;">Interim Chief Financial Officer</font></p></td></tr></table></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:avoid;width:88.24%;border-width:0;"></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.1
<SEQUENCE>7
<FILENAME>inod-20231231xex32d1.htm
<DESCRIPTION>EX-32.1
<TEXT>
<!--Enhanced HTML document created with Toppan Merrill Bridge  10.5.122.0--><!--Created on: 3/4/2024 03:31:38 PM (UTC)--><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta charset="UTF-8"><title></title></head><body><div style="margin-top:30pt;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">Exhibit 32.1</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><font style="font-size:11pt;">CERTIFICATION PURSUANT TO</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><font style="font-size:11pt;">18 U.S.C. SECTION 1350,</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><font style="font-size:11pt;">AS ADOPTED PURSUANT TO</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><font style="font-size:11pt;">SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;"><font style="font-size:11pt;">In connection with the Annual Report of Innodata Inc. (the &#8220;Company&#8221;) on Form 10-K for the year ended December 31, 2023 as filed with the Securities and Exchange Commission on the date hereof (the &#8220;Report&#8221;), I, Jack S. Abuhoff, Chief Executive Officer and President of the Company, certify, pursuant to 18 U.S.C. &#167;1350, as adopted pursuant to &#167;906 of the Sarbanes-Oxley Act of 2002, that to the best of my knowledge:</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:18pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;"><font style="font-size:11pt;">1.</font></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;"><font style="font-size:11pt;">the Report fully complies with the requirements of section 13(a) or 15(d) of the Securities Exchange Act of 1934; and</font></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 18pt;"><font style="font-size:11pt;margin-left:0pt;visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:18pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;"><font style="font-size:11pt;">2.</font></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;"><font style="font-size:11pt;">the information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.</font></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p><div><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;width:66.65%;" align="center"><tr><td style="vertical-align:top;width:52.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:47.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;">/s/ Jack S. Abuhoff</font></p></td></tr><tr><td style="vertical-align:top;width:52.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:47.1%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;">Jack S. Abuhoff</font></p></td></tr><tr><td style="vertical-align:top;width:52.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:47.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;">Chief Executive Officer and President</font></p></td></tr><tr><td style="vertical-align:top;width:52.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:47.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></td></tr><tr><td style="vertical-align:top;width:52.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:47.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;">March 4, 2024</font></p></td></tr></table></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:avoid;width:88.24%;border-width:0;"></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.2
<SEQUENCE>8
<FILENAME>inod-20231231xex32d2.htm
<DESCRIPTION>EX-32.2
<TEXT>
<!--Enhanced HTML document created with Toppan Merrill Bridge  10.5.122.0--><!--Created on: 3/4/2024 03:31:40 PM (UTC)--><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta charset="UTF-8"><title></title></head><body><div style="margin-top:30pt;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><b style="font-size:11pt;font-weight:bold;">Exhibit 32.2</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><font style="font-size:11pt;">CERTIFICATION PURSUANT TO</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><font style="font-size:11pt;">18 U.S.C. SECTION 1350,</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><font style="font-size:11pt;">AS ADOPTED PURSUANT TO</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><font style="font-size:11pt;">SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;"><font style="font-size:11pt;">In connection with the Annual Report of Innodata Inc. (the &#8220;Company&#8221;) on Form 10-K for the year ended December 31, 2023 as filed with the Securities and Exchange Commission on the date hereof (the &#8220;Report&#8221;), I, Marissa B. Espineli, Interim Chief Financial Officer, certify, pursuant to 18 U.S.C. &#167;1350, as adopted pursuant to &#167;906 of the Sarbanes-Oxley Act of 2002, that to the best of my knowledge:</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:18pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">1.</font></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;text-align:justify;"><font style="font-size:11pt;">the Report fully complies with the requirements of section 13(a) or 15(d) of the Securities Exchange Act of 1934; and</font></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 0pt 18pt;"><font style="font-size:11pt;margin-left:0pt;visibility:hidden;">&#8203;</font></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:18pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;"><font style="font-size:11pt;">2.</font></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;"><font style="font-size:11pt;">the information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.</font></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 27pt;"><font style="font-size:11pt;margin-left:0pt;visibility:hidden;">&#8203;</font></p><div><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;width:60.84%;" align="center"><tr><td style="vertical-align:top;width:57.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:42.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;">/s/ Marissa B. Espineli</font></p></td></tr><tr><td style="vertical-align:top;width:57.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:42.45%;border-top:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;">Marissa B. Espineli</font></p></td></tr><tr><td style="vertical-align:top;width:57.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:42.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;">Interim Chief Financial Officer</font></p></td></tr><tr><td style="vertical-align:top;width:57.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:42.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></td></tr><tr><td style="vertical-align:top;width:57.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;visibility:hidden;">&#8203;</font></p></td><td style="vertical-align:top;width:42.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="font-size:11pt;">March 4, 2024</font></p></td></tr></table></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:avoid;width:88.24%;border-width:0;"></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-97.1
<SEQUENCE>9
<FILENAME>inod-20231231xex97d1.htm
<DESCRIPTION>EX-97.1
<TEXT>
<!--Enhanced HTML document created with Toppan Merrill Bridge  10.5.122.0--><!--Created on: 3/4/2024 03:31:42 PM (UTC)--><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta charset="UTF-8"><title></title></head><body><div style="margin-top:30pt;"></div><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Exhibit 97.1</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">INNODATA INC.</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">COMPENSATION RECOUPMENT POLICY</b></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:18pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;"><b style="font-weight:bold;">I.</b></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;"><b style="font-weight:bold;">Purpose.</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 36pt;">The Board of Directors (&#8220;<u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Board</u>&#8221;) of Innodata Inc. (the &#8220;<u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Company</u>&#8221;) based upon the recommendation of its Compensation Committee (the &#8220;<u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Committee</u>&#8221;), has adopted this Compensation Recoupment Policy (this &#8220;<u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Policy</u><font style="white-space:pre-wrap;">&#8221;) in order to implement a mandatory clawback policy in the event of a Restatement in compliance with the Applicable Rules.  Any capitalized terms used, but not immediately defined, in this Policy have the meanings set forth in </font><u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Section&#160;VIII</u>.</p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:18pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;"><b style="font-weight:bold;">II.</b></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;"><b style="font-weight:bold;">Administration.</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 36pt;">This Policy shall be administered by the Committee, which shall make all determinations with respect to this Policy in its sole discretion; <i style="font-style:italic;">provided</i><font style="white-space:pre-wrap;"> that this Policy shall be interpreted in a manner consistent with the requirements of the Applicable Rules.  Notwithstanding the foregoing, subject to the Applicable Rules, the Board may assume any or all powers and authority of the Committee with respect to this Policy, in which case references to the Committee shall be deemed to include the Board, as applicable.</font></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:18pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;"><b style="font-weight:bold;">III.</b></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;"><b style="font-weight:bold;">Recovery on a Restatement.</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 36pt;"><font style="white-space:pre-wrap;">In the event that the Company is required to prepare a Restatement, the Company shall reasonably promptly recover from an Executive Officer the amount of any erroneously awarded Incentive-Based Compensation that is Received by such Executive Officer during the Recovery Period.  The amount of erroneously Received Incentive-Based Compensation will be the excess of the Incentive-Based Compensation Received by the Executive Officer (whether in cash or shares) based on the erroneous data in the original financial statements over the Incentive-Based Compensation (whether in cash or in shares) that would have been Received by the Executive Officer had such Incentive-Based Compensation been based on the restated results, without respect to any tax liabilities incurred or paid by the Executive Officer.</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 36pt;">Recovery of any erroneously awarded compensation under this Policy is not dependent on fraud or misconduct by any Executive Officer in connection with a Restatement.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 36pt;">Without limiting the foregoing, for Incentive-Based Compensation based on the Company&#8217;s stock price or total shareholder return, where the amount of erroneously awarded compensation is not subject to mathematical recalculation directly from the information in the Restatement, (i)&#160;the amount shall be based on the Company&#8217;s reasonable estimate of the effect of the Restatement on the stock price or total shareholder return upon which the Incentive-Based Compensation was Received and (ii)&#160;the Company shall maintain documentation of the determination of that reasonable estimate and provide such estimate to the Regulators as required by the Applicable Rules.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 36pt;">In addition to the foregoing, in the event that an Executive Officer fails to repay or reimburse erroneously awarded compensation that is subject to recovery, the Committee may require an Executive Officer to reimburse the Company for any and all expenses reasonably incurred (including legal fees) by the Company in recovering erroneously awarded compensation under this Policy.</p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:18pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;"><b style="font-weight:bold;">IV.</b></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;"><b style="font-weight:bold;">Coverage and Application.</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 36pt;"><font style="white-space:pre-wrap;">This Policy covers all persons who are Executive Officers at any time during the Recovery Period for which Incentive-Based Compensation is Received. Incentive-Based Compensation shall not be recovered under this Policy to the extent Received by any person before the date the person served as an Executive Officer.  Subsequent changes in an Executive Officer&#8217;s employment status, including retirement or termination of employment, do not affect the Company&#8217;s right to recover Incentive-Based Compensation pursuant to this Policy.</font></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">1</p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-bottom:30pt;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:always;width:88.24%;border-width:0;"><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div><div style="clear:both;max-width:100%;position:relative;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 36pt;"><font style="white-space:pre-wrap;">This Policy shall apply to Incentive-Based Compensation that is Received by any Executive Officer on or after the Effective Date and that results from attainment of a Financial Reporting Measure based on or derived from financial information for any fiscal period ending on or after the Effective Date.  For the avoidance of doubt, this will include Incentive-Based Compensation that may have been approved, awarded, or granted to an Executive Officer on or before the Effective Date if such Incentive-Based Compensation is Received after the Effective Date.</font></p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:18pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;"><b style="font-weight:bold;">V.</b></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;"><b style="font-weight:bold;">Exceptions to Policy.</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 36pt;">No recovery of Incentive-Based Compensation shall be required if any of the following conditions are met and the Committee determines that, on such basis, recovery would be impracticable:</p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:36pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:36pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">(a)</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">the direct expense paid to a third party to assist in enforcing this Policy would exceed the amount to be recovered; <i style="font-style:italic;">provided</i> that prior to making a determination that it would be impracticable to recover any Incentive-Based Compensation based on the expense of enforcement, the Company shall (i) have made a reasonable attempt to recover the Incentive-Based Compensation, (ii) have documented such reasonable attempts to recover, and (iii) provide the documentation to the Regulators as required by the Applicable Rules;</p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:36pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:36pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">(b)</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">recovery would violate home country law where that law was adopted prior to November 28, 2022; or</p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:36pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:36pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">(c)</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">recovery would likely cause an otherwise tax-qualified retirement plan, under which benefits are broadly available to employees, to fail to meet the requirements of Section 401(a)(13) or Section 411(a) of the Internal Revenue Code of 1986, as amended (the &#8220;<u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Code</u>&#8221;), and U.S. Treasury regulations promulgated thereunder.</p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:18pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;"><b style="font-weight:bold;">VI.</b></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;"><b style="font-weight:bold;">Methods of Recovery.</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 36pt;">In the event of a Clawback Event, subject to applicable law, the Committee may take any such actions as it deems necessary or appropriate, including, without limitation:</p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:36pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:36pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">(a)</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">the reduction or cancellation of any Incentive-Based Compensation in the form of vested or unvested equity or equity-based awards that have not been distributed or otherwise settled prior to the date of determination;</p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:36pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:36pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">(b)</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">the recovery of any Incentive-Based Compensation that was previously paid to the Executive Officer;</p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:36pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:36pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">(c)</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">the recovery of any gain realized on the vesting, exercise, settlement, sale, transfer, or other disposition of any Incentive-Based Compensation in the form of equity or equity-based awards;</p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:36pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:36pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">(d)</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">the offset, withholding, or elimination of any amount that could be paid or awarded to the Executive Officer after the date of determination;</p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:36pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:36pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">(e)</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">the recoupment of any amount in respect of Incentive-Based Compensation contributed to a plan that takes into account Incentive-Based Compensation (excluding certain tax-qualified plans, but including long-term disability, life insurance, supplemental executive retirement plans and deferred compensation plans, in each case to the extent permitted by applicable law, including Section&#160;409A of the Code) and any earnings accrued to date on any such amount; and</p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:36pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:36pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">(f)</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">the taking of any other remedial and recovery action permitted by law, as determined by the Committee.</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 36pt;">In addition, the Committee may authorize legal action for breach of fiduciary duty or other violation of law and take such other actions to enforce the Executive Officer&#8217;s obligations to the Company as the Committee deems appropriate.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">2</p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-bottom:30pt;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:always;width:88.24%;border-width:0;"><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div><div style="clear:both;max-width:100%;position:relative;"><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:18pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;"><b style="font-weight:bold;">VII.</b></p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;"><b style="font-weight:bold;">Miscellaneous.</b></p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:36pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:36pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">(a)</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;"><i style="font-style:italic;">Effective Date</i><font style="white-space:pre-wrap;">.  This Policy shall be effective as of October 2, 2023 (&#8220;</font><u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Effective Date</u>&#8221;).</p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:36pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:36pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">(b)</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;"><i style="font-style:italic;">Public Disclosure</i><font style="white-space:pre-wrap;">.  The Company shall make all required disclosures and filings with the Regulators with respect to this Policy in accordance with the requirements of the Applicable Rules, and any other requirements applicable to the Company, including any disclosures required in connection with SEC filings.</font></p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:36pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:36pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">(c)</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;"><i style="font-style:italic;">Notice</i>. Before the Company takes action to seek recovery of compensation pursuant to this Policy against an Executive Officer, the Company shall take commercially reasonable steps to provide such individual with advance written notice of such clawback; provided that this notice requirement shall not in any way delay the reasonably prompt recovery of any erroneously awarded Incentive-Based Compensation.</p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:36pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:36pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">(d)</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;"><i style="font-style:italic;">No Indemnification</i><font style="white-space:pre-wrap;">.  The Company shall not indemnify any current or former Executive Officer against the loss of erroneously awarded compensation and shall not pay or reimburse any Executive Officer for premiums incurred or paid for any insurance policy to fund such Executive Officer&#8217;s potential recovery obligations.</font></p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:36pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:36pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">(e)</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;"><i style="font-style:italic;">No Substitution of Rights; Non-Exhaustive Rights</i><font style="white-space:pre-wrap;">.  Any right of recoupment under this Policy is in addition to, and not in lieu of, any other remedies or rights of recoupment that may be available to the Company pursuant to (i)&#160;any equity or equity-based incentive compensation plan or any successor plan thereto, or any other incentive plan of the Company or any of its subsidiaries or affiliates or (ii)&#160;</font><font style="white-space:pre-wrap;">the terms of any similar policy or provision in any employment agreement, compensation agreement or arrangement, or similar agreement and any other legal remedies available to the Company.  In addition to recovery of compensation as provided for in this Policy, the Company may take any and all other actions as it deems necessary, appropriate and in the Company&#8217;s best interest in connection with a Clawback Event, including termination of an Executive Officer&#8217;s employment and initiating legal action against an Executive Officer, and nothing in this Policy limits the Company&#8217;s rights to take any such or other appropriate actions.</font></p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:36pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:36pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">(f)</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;"><i style="font-style:italic;">Governing Law</i><font style="white-space:pre-wrap;">. This Policy and all determinations made and actions taken pursuant hereto, to the extent not otherwise governed by mandatory provisions of the Applicable Rules, shall be governed by and construed in accordance with the laws of the State of Delaware without regard to choice of law principles.  If any provision of this Policy shall be held illegal or invalid for any reason, such illegality or invalidity shall not affect the remaining parts of this Policy, but this Policy shall be construed and enforced as if the illegal or invalid provision had never been included in this Policy.</font></p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:36pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:36pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">(g)</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;"><i style="font-style:italic;">Amendment; Termination; Sunset</i><font style="white-space:pre-wrap;">.  The Board, based upon the recommendation of the Committee, may amend this Policy at any time for any reason, subject to any limitations under the Applicable Rules.  Unless otherwise required by applicable law, this Policy shall no longer be effective from and after the date that the Company no longer has a class of securities publicly listed on a U.S. national securities exchange or is otherwise not subject to the Applicable Rules.</font></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:18pt;text-indent:-18pt;margin:0pt 0pt 12pt 18pt;"><font style="display:inline-block;text-indent:0pt;width:54pt;"><b style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:bold;">VIII.</b></font><b style="font-weight:bold;">Defined Terms</b>.</p><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:36pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:36pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">(a)</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">&#8220;<u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Applicable Rules</u>&#8221; means Section 10D of the Exchange Act and Rule 10D-1 promulgated thereunder, Listing Rule 5608 of the Listing Rules of Nasdaq, and any other national stock exchange rules that the Company is or may become subject to.</p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:36pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:36pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">(b)</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">&#8220;<u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Clawback Event</u>&#8221; means a required recoupment of Incentive-Based Compensation in the event of a Restatement under the Applicable Rules.</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">3</p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-bottom:30pt;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:always;width:88.24%;border-width:0;"><div style="max-width:100%;padding-left:5.88%;padding-right:5.88%;position:relative;"><div style="margin-top:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><font style="visibility:hidden;">&#8203;</font></p></div><div style="clear:both;max-width:100%;position:relative;"><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:36pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:36pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">(c)</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">&#8220;<u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Exchange Act</u>&#8221; means the Securities Exchange Act of 1934, as amended.</p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:36pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:36pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">(d)</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">&#8220;<u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Executive Officer</u>&#8221; means each officer of the Company who is the Company&#8217;s president, principal financial officer, principal accounting officer (or if there is no such accounting officer, the controller), any vice president of the Company in charge of a principal business unit, division or function (such as sales, administration, or finance), any other officer who performs a policy-making function, or any other person who performs similar significant policy-making functions for the Company, as determined under 17 CFR &#167;229.401(b).</p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:36pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:36pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">(e)</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">&#8220;<u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Financial Reporting Measures</u>&#8221; means (i)&#160;<font style="white-space:pre-wrap;">measures that are determined and presented in accordance with the accounting principles used in preparing the Company&#8217;s financial statements, and any measures that are derived wholly or in part from such measures, (ii) the Company&#8217;s stock price, and (iii) total shareholder return in respect of the Company.  A &#8220;Financial Reporting Measure&#8221; need not be presented within the financial statements or included in a filing with the SEC.</font></p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:36pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:36pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">(f)</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">&#8220;<u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Incentive-Based Compensation</u><font style="white-space:pre-wrap;">&#8221; means any compensation that is granted, earned, or vested, based wholly or in part upon the attainment of a Financial Reporting Measure.  Incentive-Based Compensation does not include, among other forms of compensation, equity awards that vest exclusively upon completion of a specified employment period, without any performance condition, and bonus awards that are discretionary or based on subjective goals or goals unrelated to Financial Reporting Measures.</font></p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:36pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:36pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">(g)</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">&#8220;<u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Nasdaq</u>&#8221; means the Nasdaq Stock Market LLC.</p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:36pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:36pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">(h)</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">&#8220;<u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Received</u>&#8221; &#8211; Incentive-Based Compensation is deemed &#8220;Received&#8221; for the purposes of this Policy in the Company&#8217;s fiscal period during which the Financial Reporting Measure applicable to the Incentive-Based Compensation award is attained, even if the payment or grant of the Incentive-Based Compensation occurs after the end of that period.</p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:36pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:36pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">(i)</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">&#8220;<u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Recovery Period</u>&#8221; means the three completed fiscal years immediately preceding the date on which the Company is required to prepare a Restatement, which date is the earlier of (i)&#160;the date the Board, a committee of the Board, or the officer or officers of the Company authorized to take such action if Board action is not required, concludes, or reasonably should have concluded, that the Company is required to prepare a Restatement or (ii)&#160;a date that a court, regulator, or other legally authorized body directs the Company to prepare a Restatement.</p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:36pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:36pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">(j)</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">&#8220;<u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Regulators</u>&#8221; means, as applicable, the SEC and Nasdaq.</p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:36pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:36pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">(k)</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">&#8220;<u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Restatement</u>&#8221; means that the Company is required to prepare an accounting restatement due to a material noncompliance of the Company with any financial reporting requirement under the securities laws, including any required accounting restatement to correct an error in previously issued financial statements (i) that is material to the previously issued financial statements, or (ii) that would result in a material misstatement if the error were corrected in the current period or left uncorrected in the current period.</p></td></tr></table><table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:36pt;padding:0pt;"></td><td style="vertical-align:text-top;white-space:nowrap;width:36pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">(l)</p></td><td style="padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:12pt;margin-top:0pt;">&#8220;<u style="text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">SEC</u>&#8221; means the U.S. Securities and Exchange Commission.</p></td></tr></table></div><div style="clear:both;margin-bottom:30pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:24pt 0pt 0pt 0pt;">4</p></div></div><hr style="background-color:#000000;clear:both;color:#000000;height:2pt;line-height:0;margin-left:5.88%;margin-right:5.88%;margin-top:30pt;page-break-after:avoid;width:88.24%;border-width:0;"></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>10
<FILENAME>inod-20231231.xsd
<DESCRIPTION>EX-101.SCH
<TEXT>
<XBRL>
<?xml version="1.0" encoding="utf-8"?>
<!--XBRL document created with Toppan Merrill Bridge  10.5.0.8 -->
<!--Based on XBRL 2.1-->
<!--Created on: 3/4/2024 3:31:44 PM-->
<!--Modified on: 3/4/2024 3:31:44 PM-->
<xsd:schema xmlns:us-types="http://fasb.org/us-types/2023" xmlns:xl="http://www.xbrl.org/2003/XLink" xmlns:country="http://xbrl.sec.gov/country/2023" xmlns:us-gaap="http://fasb.org/us-gaap/2023" xmlns:sic="http://xbrl.sec.gov/sic/2023" xmlns:stpr="http://xbrl.sec.gov/stpr/2023" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:exch="http://xbrl.sec.gov/exch/2023" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:srt="http://fasb.org/srt/2023" xmlns:naics="http://xbrl.sec.gov/naics/2023" xmlns:currency="http://xbrl.sec.gov/currency/2023" targetNamespace="http://www.innodata-isogen.com/20231231" elementFormDefault="qualified" xmlns:srt-types="http://fasb.org/srt-types/2023" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2022-03-31" xmlns:inod="http://www.innodata-isogen.com/20231231" xmlns:enum2="http://xbrl.org/2020/extensible-enumerations-2.0" xmlns:us-roles="http://fasb.org/us-roles/2023" xmlns:ref="http://www.xbrl.org/2006/ref" xmlns:srt-roles="http://fasb.org/srt-roles/2023" xmlns:utr="http://www.xbrl.org/2009/utr" xmlns:negated="http://www.xbrl.org/2009/role/negated" xmlns:attributeFormDefault="unqualified" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:deprecated="http://www.xbrl.org/2009/role/deprecated" xmlns:net="http://www.xbrl.org/2009/role/net" xmlns:dei="http://xbrl.sec.gov/dei/2023" xmlns:dtr="http://www.xbrl.org/2009/dtr" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:ecd="http://xbrl.sec.gov/ecd/2023" xmlns:ecd-sub="http://xbrl.sec.gov/ecd-sub/2023">
  <xsd:annotation>
    <xsd:appinfo>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureStandardAndCustomAxisDomainDefaults" id="DisclosureStandardAndCustomAxisDomainDefaults">
        <link:definition>99900 - Disclosure - Standard And Custom Axis Domain Defaults</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets" id="StatementConsolidatedBalanceSheets">
        <link:definition>00100 - Statement - CONSOLIDATED BALANCE SHEETS</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncomeLossCalc2" id="StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncomeLossCalc2">
        <link:definition>00200 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE INCOME (LOSS) - Calc 2</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLoss" id="StatementConsolidatedStatementsOfOperationsAndComprehensiveLoss">
        <link:definition>00200 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE LOSS</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows" id="StatementConsolidatedStatementsOfCashFlows">
        <link:definition>00400 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesStockBasedCompensationDetails" id="DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesStockBasedCompensationDetails">
        <link:definition>40102 - Disclosure - Description of Business and Summary of Significant Accounting Estimates and Policies - Stock-based compensation (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureShortTermInvestmentsOtherDetails" id="DisclosureShortTermInvestmentsOtherDetails">
        <link:definition>40201 - Disclosure - Short Term Investments - other (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureAccountsReceivableDetails" id="DisclosureAccountsReceivableDetails">
        <link:definition>40301 - Disclosure - Accounts Receivable (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentPropertyAndEquipmentDetails" id="DisclosurePropertyAndEquipmentPropertyAndEquipmentDetails">
        <link:definition>40401 - Disclosure - Property and equipment - Property and equipment (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedAmortizationExpenseDetails" id="DisclosureGoodwillAndIntangibleAssetsEstimatedAmortizationExpenseDetails">
        <link:definition>40504 - Disclosure - Goodwill and Intangible Assets - Estimated amortization expense (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureIncomeTaxesComponentsOfProvisionForIncomeTaxesDetails" id="DisclosureIncomeTaxesComponentsOfProvisionForIncomeTaxesDetails">
        <link:definition>40601 - Disclosure - Income Taxes - Components of provision for income taxes (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails" id="DisclosureIncomeTaxesTaxRateReconciliationDetails">
        <link:definition>40602 - Disclosure - Income Taxes - Tax rate reconciliation (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails" id="DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails">
        <link:definition>40603 - Disclosure - Income Taxes - Deferred tax assets and liabilities (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureIncomeTaxesUnitedStatesAndForeignComponentsOfIncomeLossDetails" id="DisclosureIncomeTaxesUnitedStatesAndForeignComponentsOfIncomeLossDetails">
        <link:definition>40604 - Disclosure - Income Taxes - United States and foreign components of income (loss) (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureLongTermObligationsDetails" id="DisclosureLongTermObligationsDetails">
        <link:definition>40701 - Disclosure - Long-term obligations (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureLongTermObligationsDetailsCalc2" id="DisclosureLongTermObligationsDetailsCalc2">
        <link:definition>40702 - Disclosure - Long-term obligations (Details) Calc 2</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails" id="DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails">
        <link:definition>40903 - Disclosure - Operating Leases - Net present value of the operating lease liability (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosurePensionBenefitsComponentsOfNetPeriodicPensionCostDetails" id="DisclosurePensionBenefitsComponentsOfNetPeriodicPensionCostDetails">
        <link:definition>41002 - Disclosure - Pension Benefits - Components of Net Periodic Pension Cost (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosurePensionBenefitsRecognizedInBalanceSheetsDetails" id="DisclosurePensionBenefitsRecognizedInBalanceSheetsDetails">
        <link:definition>41003 - Disclosure - Pension Benefits - Recognized in balance sheets (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosurePensionBenefitsEstimatedFutureBenefitPaymentsDetails" id="DisclosurePensionBenefitsEstimatedFutureBenefitPaymentsDetails">
        <link:definition>41005 - Disclosure - Pension Benefits - Estimated future benefit payments (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureLossPerShareDetails" id="DisclosureLossPerShareDetails">
        <link:definition>41501 - Disclosure - Loss per Share (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation" id="DocumentDocumentAndEntityInformation">
        <link:definition>00090 - Document - Document and Entity Information</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheetsParenthetical" id="StatementConsolidatedBalanceSheetsParenthetical">
        <link:definition>00105 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfStockholdersEquity" id="StatementConsolidatedStatementsOfStockholdersEquity">
        <link:definition>00300 - Statement - CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureStockOptionsTables" id="DisclosureStockOptionsTables">
        <link:definition>31203 - Disclosure - Stock Options (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDetails" id="DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDetails">
        <link:definition>40101 - Disclosure - Description of Business and Summary of Significant Accounting Estimates and Policies (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentAdditionalInformationDetails" id="DisclosurePropertyAndEquipmentAdditionalInformationDetails">
        <link:definition>40402 - Disclosure - Property and equipment - Additional Information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsChangesInCarryingAmountOfGoodwillDetails" id="DisclosureGoodwillAndIntangibleAssetsChangesInCarryingAmountOfGoodwillDetails">
        <link:definition>40501 - Disclosure - Goodwill and Intangible Assets - Changes in carrying amount of goodwill (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsDetails" id="DisclosureGoodwillAndIntangibleAssetsDetails">
        <link:definition>40502 - Disclosure - Goodwill and Intangible Assets (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails" id="DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails">
        <link:definition>40503 - Disclosure - Goodwill and Intangible Assets - Acquisition-related intangible assets (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureIncomeTaxesUnrecognizedTaxBenefitsDetails" id="DisclosureIncomeTaxesUnrecognizedTaxBenefitsDetails">
        <link:definition>40605 - Disclosure - Income Taxes - Unrecognized tax benefits (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDetails" id="DisclosureIncomeTaxesDetails">
        <link:definition>40606 - Disclosure - Income Taxes (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureCommitmentsAndContingenciesDetails" id="DisclosureCommitmentsAndContingenciesDetails">
        <link:definition>40801 - Disclosure - Commitments and contingencies (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureOperatingLeasesDetails" id="DisclosureOperatingLeasesDetails">
        <link:definition>40901 - Disclosure - Operating Leases (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureOperatingLeasesFinancialStatementsRelatedToOperatingLeasesDetails" id="DisclosureOperatingLeasesFinancialStatementsRelatedToOperatingLeasesDetails">
        <link:definition>40902 - Disclosure - Operating Leases - Financial statements related to operating leases (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosurePensionBenefitsBenefitObligationsDetails" id="DisclosurePensionBenefitsBenefitObligationsDetails">
        <link:definition>41001 - Disclosure - Pension Benefits - Benefit Obligations (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosurePensionBenefitsActuarialAssumptionsDetails" id="DisclosurePensionBenefitsActuarialAssumptionsDetails">
        <link:definition>41004 - Disclosure - Pension Benefits - Actuarial assumptions (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosurePensionBenefitsAdditionalInformationDetails" id="DisclosurePensionBenefitsAdditionalInformationDetails">
        <link:definition>41006 - Disclosure - Pension Benefits - Additional Information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureCapitalStockDetails" id="DisclosureCapitalStockDetails">
        <link:definition>41101 - Disclosure - Capital Stock (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureStockOptionsWeightedAverageFairValuesAndAssumptionsDetails" id="DisclosureStockOptionsWeightedAverageFairValuesAndAssumptionsDetails">
        <link:definition>41201 - Disclosure - Stock Options - Weighted Average Fair Values and Assumptions (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionActivityDetails" id="DisclosureStockOptionsSummaryOfStockOptionActivityDetails">
        <link:definition>41202 - Disclosure - Stock Options - Summary of Stock Option Activity (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionAndRestrictedStockOptionActivityDetails" id="DisclosureStockOptionsSummaryOfStockOptionAndRestrictedStockOptionActivityDetails">
        <link:definition>41203 - Disclosure - Stock Options - Summary of stock option and Restricted Stock option activity (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureStockOptionsAdditionalInformationDetails" id="DisclosureStockOptionsAdditionalInformationDetails">
        <link:definition>41204 - Disclosure - Stock Options - Additional Information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureComprehensiveLossReclassificationsFromAccumulatedOtherComprehensiveLossDetails" id="DisclosureComprehensiveLossReclassificationsFromAccumulatedOtherComprehensiveLossDetails">
        <link:definition>41301 - Disclosure - Comprehensive loss - Reclassifications from accumulated other comprehensive loss (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsDetails" id="DisclosureSegmentReportingAndConcentrationsDetails">
        <link:definition>41401 - Disclosure - Segment reporting and concentrations (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsLongLivedAssetsDetails" id="DisclosureSegmentReportingAndConcentrationsLongLivedAssetsDetails">
        <link:definition>41402 - Disclosure - Segment reporting and concentrations - Long-lived assets (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsRevenuesByGeographicRegionDetails" id="DisclosureSegmentReportingAndConcentrationsRevenuesByGeographicRegionDetails">
        <link:definition>41403 - Disclosure - Segment reporting and concentrations - Revenues by geographic region (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsAdditionalInformationDetails" id="DisclosureSegmentReportingAndConcentrationsAdditionalInformationDetails">
        <link:definition>41404 - Disclosure - Segment reporting and concentrations - Additional information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureLossPerShareAdditionalInformationDetails" id="DisclosureLossPerShareAdditionalInformationDetails">
        <link:definition>41502 - Disclosure - Loss per Share - Additional information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureDerivativesAdditionalInformationDetails" id="DisclosureDerivativesAdditionalInformationDetails">
        <link:definition>41601 - Disclosure - Derivatives - Additional Information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureDerivativesFairValueOfDerivativeInstrumentsDetails" id="DisclosureDerivativesFairValueOfDerivativeInstrumentsDetails">
        <link:definition>41602 - Disclosure - Derivatives - Fair value of derivative instruments (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureDerivativesContractsDesignatedAsCashFlowHedgesDetails" id="DisclosureDerivativesContractsDesignatedAsCashFlowHedgesDetails">
        <link:definition>41603 - Disclosure - Derivatives - Contracts designated as cash flow hedges (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureLineOfCreditDetails" id="DisclosureLineOfCreditDetails">
        <link:definition>41701 - Disclosure - Line Of Credit (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPolicies" id="DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPolicies">
        <link:definition>10101 - Disclosure - Description of Business and Summary of Significant Accounting Estimates and Policies</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureShortTermInvestmentsOther" id="DisclosureShortTermInvestmentsOther">
        <link:definition>10201 - Disclosure - Short Term Investments - other</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureAccountsReceivable" id="DisclosureAccountsReceivable">
        <link:definition>10301 - Disclosure - Accounts Receivable</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipment" id="DisclosurePropertyAndEquipment">
        <link:definition>10401 - Disclosure - Property and equipment</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssets" id="DisclosureGoodwillAndIntangibleAssets">
        <link:definition>10501 - Disclosure - Goodwill and Intangible Assets</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureIncomeTaxes" id="DisclosureIncomeTaxes">
        <link:definition>10601 - Disclosure - Income Taxes</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureLongTermObligations" id="DisclosureLongTermObligations">
        <link:definition>10701 - Disclosure - Long-term obligations</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureCommitmentsAndContingencies" id="DisclosureCommitmentsAndContingencies">
        <link:definition>10801 - Disclosure - Commitments and contingencies</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureOperatingLeases" id="DisclosureOperatingLeases">
        <link:definition>10901 - Disclosure - Operating Leases</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosurePensionBenefits" id="DisclosurePensionBenefits">
        <link:definition>11001 - Disclosure - Pension Benefits</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureCapitalStock" id="DisclosureCapitalStock">
        <link:definition>11101 - Disclosure - Capital Stock</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureStockOptions" id="DisclosureStockOptions">
        <link:definition>11201 - Disclosure - Stock Options</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureComprehensiveLoss" id="DisclosureComprehensiveLoss">
        <link:definition>11301 - Disclosure - Comprehensive loss</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrations" id="DisclosureSegmentReportingAndConcentrations">
        <link:definition>11401 - Disclosure - Segment reporting and concentrations</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureLossPerShare" id="DisclosureLossPerShare">
        <link:definition>11501 - Disclosure - Loss per Share</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureDerivatives" id="DisclosureDerivatives">
        <link:definition>11601 - Disclosure - Derivatives</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureLineOfCredit" id="DisclosureLineOfCredit">
        <link:definition>11701 - Disclosure - Line of Credit</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureSubsequentEvent" id="DisclosureSubsequentEvent">
        <link:definition>11801 - Disclosure - Subsequent Event</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesPolicies" id="DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesPolicies">
        <link:definition>20102 - Disclosure - Description of Business and Summary of Significant Accounting Estimates and Policies (Policies)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesTables" id="DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesTables">
        <link:definition>30103 - Disclosure - Description of Business and Summary of Significant Accounting Estimates and Policies (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureShortTermInvestmentsOtherTables" id="DisclosureShortTermInvestmentsOtherTables">
        <link:definition>30203 - Disclosure - Short Term Investments - other (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureAccountsReceivableTables" id="DisclosureAccountsReceivableTables">
        <link:definition>30303 - Disclosure - Accounts Receivable (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentTables" id="DisclosurePropertyAndEquipmentTables">
        <link:definition>30403 - Disclosure - Property and equipment (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsTables" id="DisclosureGoodwillAndIntangibleAssetsTables">
        <link:definition>30503 - Disclosure - Goodwill and Intangible Assets (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTables" id="DisclosureIncomeTaxesTables">
        <link:definition>30603 - Disclosure - Income Taxes (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureLongTermObligationsTables" id="DisclosureLongTermObligationsTables">
        <link:definition>30703 - Disclosure - Long-term obligations (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureOperatingLeasesTables" id="DisclosureOperatingLeasesTables">
        <link:definition>30903 - Disclosure - Operating Leases (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosurePensionBenefitsTables" id="DisclosurePensionBenefitsTables">
        <link:definition>31003 - Disclosure - Pension Benefits (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureComprehensiveLossTables" id="DisclosureComprehensiveLossTables">
        <link:definition>31303 - Disclosure - Comprehensive loss (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsTables" id="DisclosureSegmentReportingAndConcentrationsTables">
        <link:definition>31403 - Disclosure - Segment reporting and concentrations (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureLossPerShareTables" id="DisclosureLossPerShareTables">
        <link:definition>31503 - Disclosure - Loss per Share (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureDerivativesTables" id="DisclosureDerivativesTables">
        <link:definition>31603 - Disclosure - Derivatives (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDeferredRevenueDetails" id="DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDeferredRevenueDetails">
        <link:definition>40103 - Disclosure - Description of Business and Summary of Significant Accounting Estimates and Policies - Deferred revenue (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureAccountsReceivableActivityInAllowanceForCreditLossesDetails" id="DisclosureAccountsReceivableActivityInAllowanceForCreditLossesDetails">
        <link:definition>40302 - Disclosure - Accounts Receivable - Activity in allowance for credit losses (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.innodata-isogen.com/role/DisclosureOperatingLeasesWeightedAverageRemainingLeaseTermsDetails" id="DisclosureOperatingLeasesWeightedAverageRemainingLeaseTermsDetails">
        <link:definition>40904 - Disclosure - Operating Leases - Weighted average remaining lease terms (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:linkbaseRef xlink:type="simple" xlink:href="inod-20231231_pre.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" />
      <link:linkbaseRef xlink:type="simple" xlink:href="inod-20231231_cal.xml" xlink:role="http://www.xbrl.org/2003/role/calculationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" />
      <link:linkbaseRef xlink:type="simple" xlink:href="inod-20231231_def.xml" xlink:role="http://www.xbrl.org/2003/role/definitionLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" />
      <link:linkbaseRef xlink:type="simple" xlink:href="inod-20231231_lab.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" />
    </xsd:appinfo>
  </xsd:annotation>
  <xsd:import namespace="http://xbrl.sec.gov/ecd/2023" schemaLocation="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd" />
  <xsd:import namespace="http://xbrl.sec.gov/dei/2023" schemaLocation="https://xbrl.sec.gov/dei/2023/dei-2023.xsd" />
  <xsd:import namespace="http://www.xbrl.org/2003/instance" schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd" />
  <xsd:import namespace="http://xbrl.org/2005/xbrldt" schemaLocation="http://www.xbrl.org/2005/xbrldt-2005.xsd" />
  <xsd:import namespace="http://www.xbrl.org/2009/role/negated" schemaLocation="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd" />
  <xsd:import namespace="http://www.xbrl.org/dtr/type/2022-03-31" schemaLocation="https://www.xbrl.org/dtr/type/2022-03-31/types.xsd" />
  <xsd:import namespace="http://fasb.org/us-roles/2023" schemaLocation="https://xbrl.fasb.org/us-gaap/2023/elts/us-roles-2023.xsd" />
  <xsd:import namespace="http://fasb.org/us-gaap/2023" schemaLocation="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd" />
  <xsd:import namespace="http://fasb.org/srt/2023" schemaLocation="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd" />
  <xsd:import namespace="http://xbrl.sec.gov/country/2023" schemaLocation="https://xbrl.sec.gov/country/2023/country-2023.xsd" />
  <xsd:import namespace="http://xbrl.sec.gov/stpr/2023" schemaLocation="https://xbrl.sec.gov/stpr/2023/stpr-2023.xsd" />
  <xsd:import namespace="http://xbrl.sec.gov/ecd-sub/2023" schemaLocation="https://xbrl.sec.gov/ecd/2023/ecd-sub-2023.xsd" />
  <xsd:element id="inod_ScheduleOfOperatingLeaseExpenseRecognizedInFinancialStatementsTableTextBlock" name="ScheduleOfOperatingLeaseExpenseRecognizedInFinancialStatementsTableTextBlock" nillable="true" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="inod_ScheduleOfWeightedAverageRemainingLeaseTermsAndDiscountRatesTableTextBlock" name="ScheduleOfWeightedAverageRemainingLeaseTermsAndDiscountRatesTableTextBlock" nillable="true" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element name="DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesTable" id="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesTable" type="xbrli:stringItemType" substitutionGroup="xbrldt:hypercubeItem" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems" id="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems" type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="SubsidiaryAxis" id="inod_SubsidiaryAxis" type="xbrli:stringItemType" substitutionGroup="xbrldt:dimensionItem" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="NameOfSubsidiaryDomain" id="inod_NameOfSubsidiaryDomain" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="SynodexMember" id="inod_SynodexMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="IncomeTaxesLineItems" id="inod_IncomeTaxesLineItems" type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element id="inod_EffectiveIncomeTaxRateReconciliationIncreaseInUnrecognizedTaxBenefits" name="EffectiveIncomeTaxRateReconciliationIncreaseInUnrecognizedTaxBenefits" nillable="true" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="inod_UnrecognizedTaxBenefitsIncreaseDecreasesResultingFromForeignCurrencyTranslation" name="UnrecognizedTaxBenefitsIncreaseDecreasesResultingFromForeignCurrencyTranslation" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit" />
  <xsd:element id="inod_PercentageForSubsidiaryServiceTax" name="PercentageForSubsidiaryServiceTax" nillable="true" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="inod_SubsidiaryRevenue" name="SubsidiaryRevenue" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="credit" />
  <xsd:element id="inod_ReversalOfServiceTaxRefund" name="ReversalOfServiceTaxRefund" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit" />
  <xsd:element id="inod_ServiceTaxCreditReceivable" name="ServiceTaxCreditReceivable" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" />
  <xsd:element id="inod_InterestRateDescriptionLitigation" name="InterestRateDescriptionLitigation" nillable="true" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element name="LongTermOperatingLeaseMember" id="inod_LongTermOperatingLeaseMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="ShortTermOperatingLeaseMember" id="inod_ShortTermOperatingLeaseMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element id="inod_PercentageOfRentalEscalations" name="PercentageOfRentalEscalations" nillable="true" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element name="LongTermObligationsAbstract" id="inod_LongTermObligationsAbstract" type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="MicrosoftLicensesObligations" id="inod_MicrosoftLicensesObligations" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" abstract="false" nillable="true" xbrli:balance="credit" xbrli:periodType="instant" />
  <xsd:element name="DdsMember" id="inod_DdsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="AgilityMember" id="inod_AgilityMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="ReportableSegmentDisclosureAxis" id="inod_ReportableSegmentDisclosureAxis" type="xbrli:stringItemType" substitutionGroup="xbrldt:dimensionItem" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="ReportableSegmentDisclosureDomain" id="inod_ReportableSegmentDisclosureDomain" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="BeforeIntersegmentEliminationsMember" id="inod_BeforeIntersegmentEliminationsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="AfterIntersegmentEliminationsMember" id="inod_AfterIntersegmentEliminationsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="OtherPrincipallyEuropeMember" id="inod_OtherPrincipallyEuropeMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="AllCountriesAxis" id="inod_AllCountriesAxis" type="xbrli:stringItemType" substitutionGroup="xbrldt:dimensionItem" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="ForeignCountriesMember" id="inod_ForeignCountriesMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="ForeignCustomerMember" id="inod_ForeignCustomerMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="ClientMember" id="inod_ClientMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="ThreeClientsMember" id="inod_ThreeClientsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element name="ScheduleOfEarningsPerShareBasicAndDilutedTable" id="inod_ScheduleOfEarningsPerShareBasicAndDilutedTable" type="xbrli:stringItemType" substitutionGroup="xbrldt:hypercubeItem" abstract="true" nillable="true" xbrli:periodType="duration" />
  <xsd:element id="inod_DeferredTaxAssetsExpensesNotDeductibleUntilPaid" name="DeferredTaxAssetsExpensesNotDeductibleUntilPaid" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" />
  <xsd:element id="inod_IncomeTaxesTable" name="IncomeTaxesTable" nillable="true" type="xbrli:stringItemType" substitutionGroup="xbrldt:hypercubeItem" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="inod_DefinedBenefitPlanExpectedFutureBenefitPayments" name="DefinedBenefitPlanExpectedFutureBenefitPayments" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit" />
  <xsd:element id="inod_DefinedContributionPensionPlanPeriodOfServiceToBecomeEligible" name="DefinedContributionPensionPlanPeriodOfServiceToBecomeEligible" nillable="true" type="xbrli:durationItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="inod_NumberOfVotesForEachShareOfCommonStock" name="NumberOfVotesForEachShareOfCommonStock" nillable="true" type="xbrli:integerItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="inod_TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" name="TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit" />
  <xsd:element id="inod_TwoThousandThirteenStockPlanMember" name="TwoThousandThirteenStockPlanMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="inod_EffectiveIncomeTaxRateReconciliationReturnToProvisionTrueUp" name="EffectiveIncomeTaxRateReconciliationReturnToProvisionTrueUp" nillable="true" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="inod_NumberOfClient" name="NumberOfClient" nillable="true" type="xbrli:integerItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="inod_OneClientMember" name="OneClientMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration" />
  <xsd:element id="inod_FiniteLivedIntangibleAssetExpectedAmortizationThereafter" name="FiniteLivedIntangibleAssetExpectedAmortizationThereafter" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit" abstract="false" />
  <xsd:element id="inod_LesseeOperatingLeaseLiabilityToBePaidThereafter" name="LesseeOperatingLeaseLiabilityToBePaidThereafter" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit" />
  <xsd:element id="inod_EffectiveIncomeTaxRateReconciliationDeemedInterestPercent" name="EffectiveIncomeTaxRateReconciliationDeemedInterestPercent" nillable="true" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element id="inod_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRateBenefitExpense" name="EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRateBenefitExpense" nillable="true" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" />
  <xsd:element name="CapitalizedSoftwareDevelopmentCostWorkInProgressMember" id="inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="CapitalizedSoftwareDevelopmentCostMember" id="inod_CapitalizedSoftwareDevelopmentCostMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="NetIncomeLossAttributableToParent1" id="inod_NetIncomeLossAttributableToParent1" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" xbrli:balance="credit" />
  <xsd:element name="EquityPlansMember" id="inod_EquityPlansMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="TwoThousandTwentyOneEquityCompensationPlanMember" id="inod_TwoThousandTwentyOneEquityCompensationPlanMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="NumberOfSharesEligibleToReceiveForEachFullyVestedRsu" id="inod_NumberOfSharesEligibleToReceiveForEachFullyVestedRsu" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" />
  <xsd:element name="StockOptionsTable" id="inod_StockOptionsTable" type="xbrli:stringItemType" substitutionGroup="xbrldt:hypercubeItem" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="StockOptionsLineItems" id="inod_StockOptionsLineItems" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="FourClientsMember" id="inod_FourClientsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="ShortTermInvestmentsOthersTextBlock" id="inod_ShortTermInvestmentsOthersTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" />
  <xsd:element name="ShortTermInvestmentsOtherReadilyMarketableTableTextBlock" id="inod_ShortTermInvestmentsOtherReadilyMarketableTableTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" />
  <xsd:element name="July2019Member" id="inod_July2019Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="VendorFinancedSoftwareLicensesAcquired" id="inod_VendorFinancedSoftwareLicensesAcquired" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" xbrli:balance="credit" />
  <xsd:element name="LongTermObligationsDisclosureTextBlock" id="inod_LongTermObligationsDisclosureTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" />
  <xsd:element name="LongTermObligationsDisclosureTableTextBlock" id="inod_LongTermObligationsDisclosureTableTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" />
  <xsd:element name="TotalLongTermObligations" id="inod_TotalLongTermObligations" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" xbrli:balance="credit" />
  <xsd:element name="CurrentPortionOfLongTermObligations" id="inod_CurrentPortionOfLongTermObligations" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" xbrli:balance="credit" />
  <xsd:element name="NoncurrentPortionOfLongTermObligations" id="inod_NoncurrentPortionOfLongTermObligations" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" xbrli:balance="credit" />
  <xsd:element name="LicensesObligationsAmountPayableAnnually" id="inod_LicensesObligationsAmountPayableAnnually" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" xbrli:balance="credit" />
  <xsd:element name="AcquiredIntangibleAssetsMember" id="inod_AcquiredIntangibleAssetsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment" id="inod_FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" xbrli:balance="debit" />
  <xsd:element name="LineOfCreditFacilityPercentageOfEligibleAccountsConsideredForDeterminationOfBorrowingBase" id="inod_LineOfCreditFacilityPercentageOfEligibleAccountsConsideredForDeterminationOfBorrowingBase" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" />
  <xsd:element name="LineOfCreditFacilityPercentageOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase" id="inod_LineOfCreditFacilityPercentageOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" />
  <xsd:element name="LineOfCreditFacilityMaximumAmountOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase" id="inod_LineOfCreditFacilityMaximumAmountOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" xbrli:balance="credit" />
  <xsd:element name="LineOfCreditFacilityCovenantTermsThresholdMinimumRequiredFixedChargeCoverageRatio" id="inod_LineOfCreditFacilityCovenantTermsThresholdMinimumRequiredFixedChargeCoverageRatio" type="xbrli:pureItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" />
  <xsd:element name="SettlementAgreementObligations" id="inod_SettlementAgreementObligations" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" xbrli:balance="credit" />
  <xsd:element name="ForeignOperationsPermanentDifferenceForeignExchangeGainsAndLosses" id="inod_ForeignOperationsPermanentDifferenceForeignExchangeGainsAndLosses" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" />
  <xsd:element name="TwoClientMember" id="inod_TwoClientMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="EffectiveIncomeTaxRateReconciliationSection162Percentage" id="inod_EffectiveIncomeTaxRateReconciliationSection162Percentage" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" />
  <xsd:element name="EffectiveIncomeTaxRateReconciliationWithholdingTaxPercentage" id="inod_EffectiveIncomeTaxRateReconciliationWithholdingTaxPercentage" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" />
  <xsd:element name="EffectiveIncomeTaxRateReconciliationTaxSettlementIntercompanyPercent" id="inod_EffectiveIncomeTaxRateReconciliationTaxSettlementIntercompanyPercent" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="false" />
  <xsd:element name="CanadianSubsidiariesMember" id="inod_CanadianSubsidiariesMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesUnderlyingOutstandingOptionsOrRights" id="inod_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesUnderlyingOutstandingOptionsOrRights" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" />
  <xsd:element name="ReservationOfSharesSubjectToOptionOrStockAppreciationRightsGrantedRatio" id="inod_ReservationOfSharesSubjectToOptionOrStockAppreciationRightsGrantedRatio" type="xbrli:pureItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" />
  <xsd:element name="TwoThousandTwentyOneEquityCompensationPlanOtherMember" id="inod_TwoThousandTwentyOneEquityCompensationPlanOtherMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="AwardsGrantedPriorToApril112022Member" id="inod_AwardsGrantedPriorToApril112022Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="AwardsGrantedOnOrAfterApril112022Member" id="inod_AwardsGrantedOnOrAfterApril112022Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="GermanAndUnitedKingdomSubsidiariesMember" id="inod_GermanAndUnitedKingdomSubsidiariesMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true" />
  <xsd:element name="DefinedBenefitPlanExpectedFutureBenefitPaymentYearSixToYearNine" id="inod_DefinedBenefitPlanExpectedFutureBenefitPaymentYearSixToYearNine" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant" abstract="false" xbrli:balance="credit" />
</xsd:schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.CAL
<SEQUENCE>11
<FILENAME>inod-20231231_cal.xml
<DESCRIPTION>EX-101.CAL
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii"?>
<!--XBRL document created with Toppan Merrill Bridge  10.5.0.8 -->
<!--Based on XBRL 2.1-->
<!--Created on: 3/4/2024 3:31:44 PM-->
<!--Modified on: 3/4/2024 3:31:44 PM-->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance">
  <roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#StatementConsolidatedBalanceSheets" roleURI="http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets" />
  <roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncomeLossCalc2" roleURI="http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncomeLossCalc2" />
  <roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#StatementConsolidatedStatementsOfOperationsAndComprehensiveLoss" roleURI="http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLoss" />
  <roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#StatementConsolidatedStatementsOfCashFlows" roleURI="http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows" />
  <roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesStockBasedCompensationDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesStockBasedCompensationDetails" />
  <roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureShortTermInvestmentsOtherDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureShortTermInvestmentsOtherDetails" />
  <roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureAccountsReceivableDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureAccountsReceivableDetails" />
  <roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosurePropertyAndEquipmentPropertyAndEquipmentDetails" roleURI="http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentPropertyAndEquipmentDetails" />
  <roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureGoodwillAndIntangibleAssetsEstimatedAmortizationExpenseDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedAmortizationExpenseDetails" />
  <roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureIncomeTaxesComponentsOfProvisionForIncomeTaxesDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureIncomeTaxesComponentsOfProvisionForIncomeTaxesDetails" />
  <roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureIncomeTaxesTaxRateReconciliationDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails" />
  <roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails" />
  <roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureIncomeTaxesUnitedStatesAndForeignComponentsOfIncomeLossDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureIncomeTaxesUnitedStatesAndForeignComponentsOfIncomeLossDetails" />
  <roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureLongTermObligationsDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureLongTermObligationsDetails" />
  <roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureLongTermObligationsDetailsCalc2" roleURI="http://www.innodata-isogen.com/role/DisclosureLongTermObligationsDetailsCalc2" />
  <roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails" />
  <roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosurePensionBenefitsComponentsOfNetPeriodicPensionCostDetails" roleURI="http://www.innodata-isogen.com/role/DisclosurePensionBenefitsComponentsOfNetPeriodicPensionCostDetails" />
  <roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosurePensionBenefitsRecognizedInBalanceSheetsDetails" roleURI="http://www.innodata-isogen.com/role/DisclosurePensionBenefitsRecognizedInBalanceSheetsDetails" />
  <roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosurePensionBenefitsEstimatedFutureBenefitPaymentsDetails" roleURI="http://www.innodata-isogen.com/role/DisclosurePensionBenefitsEstimatedFutureBenefitPaymentsDetails" />
  <roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureLossPerShareDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureLossPerShareDetails" />
  <calculationLink xlink:role="http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets" xlink:type="extended" xlink:title="00100 - Statement - CONSOLIDATED BALANCE SHEETS">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Assets" xlink:label="loc_us-gaap_Assets" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent_638451631018421287" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets" xlink:to="us-gaap_AssetsCurrent_638451631018421287" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_638451631018421287" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_638451631018421287" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue_638451631018421287" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherShortTermInvestments" xlink:label="us-gaap_OtherShortTermInvestments_638451631018421287" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_638451631018421287" xlink:to="us-gaap_OtherShortTermInvestments_638451631018421287" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent_638451631018431286" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_638451631018421287" xlink:to="us-gaap_AccountsReceivableNetCurrent_638451631018431286" order="3" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_638451631018431286" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent_638451631018421287" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_638451631018431286" order="4" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_638451631018431286" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_638451631018431286" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_638451631018431286" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_638451631018431286" order="3" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent_638451631018431286" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets" xlink:to="us-gaap_OtherAssetsNoncurrent_638451631018431286" order="4" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet_638451631018431286" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet_638451631018431286" order="5" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill_638451631018431286" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill_638451631018431286" order="6" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill_638451631018431286" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets" xlink:to="us-gaap_Goodwill_638451631018431286" order="7" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquity" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RedeemableNoncontrollingInterestEquityCarryingAmount" xlink:label="us-gaap_RedeemableNoncontrollingInterestEquityCarryingAmount_638451631018441267" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_RedeemableNoncontrollingInterestEquityCarryingAmount_638451631018441267" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity_638451631018441267" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_StockholdersEquity_638451631018441267" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityBeforeTreasuryStock" xlink:label="us-gaap_StockholdersEquityBeforeTreasuryStock_638451631018441267" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity_638451631018441267" xlink:to="us-gaap_StockholdersEquityBeforeTreasuryStock_638451631018441267" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockValue" xlink:label="us-gaap_PreferredStockValue_638451631018441267" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquityBeforeTreasuryStock_638451631018441267" xlink:to="us-gaap_PreferredStockValue_638451631018441267" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue_638451631018441267" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquityBeforeTreasuryStock_638451631018441267" xlink:to="us-gaap_CommonStockValue_638451631018441267" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapital" xlink:label="us-gaap_AdditionalPaidInCapital_638451631018441267" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquityBeforeTreasuryStock_638451631018441267" xlink:to="us-gaap_AdditionalPaidInCapital_638451631018441267" order="3" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_638451631018451263" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquityBeforeTreasuryStock_638451631018441267" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit_638451631018451263" order="4" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_638451631018451263" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquityBeforeTreasuryStock_638451631018441267" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_638451631018451263" order="5" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockValue" xlink:label="us-gaap_TreasuryStockValue_638451631018451263" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity_638451631018441267" xlink:to="us-gaap_TreasuryStockValue_638451631018451263" order="2" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities_638451631018451263" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_Liabilities_638451631018451263" order="3" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent_638451631018451263" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities_638451631018451263" xlink:to="us-gaap_LiabilitiesCurrent_638451631018451263" order="1" use="optional" weight="1" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableCurrent" xlink:label="us-gaap_AccountsPayableCurrent_638451631018451263" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_638451631018451263" xlink:to="us-gaap_AccountsPayableCurrent_638451631018451263" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="us-gaap_AccruedLiabilitiesCurrent_638451631018451263" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_638451631018451263" xlink:to="us-gaap_AccruedLiabilitiesCurrent_638451631018451263" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:label="us-gaap_EmployeeRelatedLiabilitiesCurrent_638451631018461260" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_638451631018451263" xlink:to="us-gaap_EmployeeRelatedLiabilitiesCurrent_638451631018461260" order="3" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxesPayableCurrent" xlink:label="us-gaap_TaxesPayableCurrent_638451631018461260" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_638451631018451263" xlink:to="us-gaap_TaxesPayableCurrent_638451631018461260" order="4" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_CurrentPortionOfLongTermObligations" xlink:label="inod_CurrentPortionOfLongTermObligations_638451631018461260" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_638451631018451263" xlink:to="inod_CurrentPortionOfLongTermObligations_638451631018461260" order="5" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_638451631018461260" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent_638451631018451263" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_638451631018461260" order="6" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_NoncurrentPortionOfLongTermObligations" xlink:label="inod_NoncurrentPortionOfLongTermObligations_638451631018461260" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities_638451631018451263" xlink:to="inod_NoncurrentPortionOfLongTermObligations_638451631018461260" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_638451631018461260" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities_638451631018451263" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_638451631018461260" order="3" use="optional" weight="1" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet_638451631018471270" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_Liabilities_638451631018451263" xlink:to="us-gaap_DeferredIncomeTaxLiabilitiesNet_638451631018471270" order="4" use="optional" weight="1" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="us-gaap_CommitmentsAndContingencies_638451631018471270" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_CommitmentsAndContingencies_638451631018471270" order="4" use="optional" weight="1" />
  </calculationLink>
  <calculationLink xlink:role="http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncomeLossCalc2" xlink:type="extended" xlink:title="00200 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS AND  COMPREHENSIVE INCOME (LOSS) - Calc 2">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_638451631018471270" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_638451631018471270" order="1" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_638451631018471270" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_638451631018471270" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTax_638451631018471270" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_638451631018471270" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTax_638451631018471270" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax_638451631018481265" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTax_638451631018471270" xlink:to="us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax_638451631018481265" order="1" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_638451631018481265" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTax_638451631018471270" xlink:to="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_638451631018481265" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax_638451631018481265" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTax_638451631018471270" xlink:to="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax_638451631018481265" order="3" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss_638451631018481265" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_638451631018471270" xlink:to="us-gaap_ProfitLoss_638451631018481265" order="2" use="optional" weight="1" />
  </calculationLink>
  <calculationLink xlink:role="http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLoss" xlink:type="extended" xlink:title="00200 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE LOSS">
    <loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_NetIncomeLossAttributableToParent1" xlink:label="inod_NetIncomeLossAttributableToParent1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:label="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_638451631018481265" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="inod_NetIncomeLossAttributableToParent1" xlink:to="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_638451631018481265" order="1" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss_638451631018481265" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="inod_NetIncomeLossAttributableToParent1" xlink:to="us-gaap_ProfitLoss_638451631018481265" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit_638451631018481265" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ProfitLoss_638451631018481265" xlink:to="us-gaap_IncomeTaxExpenseBenefit_638451631018481265" order="1" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_638451631018491264" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ProfitLoss_638451631018481265" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_638451631018491264" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostsAndExpenses" xlink:label="us-gaap_CostsAndExpenses_638451631018491264" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_638451631018491264" xlink:to="us-gaap_CostsAndExpenses_638451631018491264" order="1" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DirectOperatingCosts" xlink:label="us-gaap_DirectOperatingCosts_638451631018491264" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CostsAndExpenses_638451631018491264" xlink:to="us-gaap_DirectOperatingCosts_638451631018491264" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense_638451631018491264" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CostsAndExpenses_638451631018491264" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpense_638451631018491264" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestIncomeExpenseNonoperatingNet" xlink:label="us-gaap_InterestIncomeExpenseNonoperatingNet_638451631018491264" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CostsAndExpenses_638451631018491264" xlink:to="us-gaap_InterestIncomeExpenseNonoperatingNet_638451631018491264" order="3" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Revenues" xlink:label="us-gaap_Revenues_638451631018491264" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_638451631018491264" xlink:to="us-gaap_Revenues_638451631018491264" order="2" use="optional" weight="1" />
  </calculationLink>
  <calculationLink xlink:role="http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows" xlink:type="extended" xlink:title="00400 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_638451631018491264" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_638451631018491264" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_638451631018501263" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities_638451631018501263" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RepaymentsOfLongTermDebt" xlink:label="us-gaap_RepaymentsOfLongTermDebt_638451631018501263" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_638451631018501263" xlink:to="us-gaap_RepaymentsOfLongTermDebt_638451631018501263" order="1" use="optional" weight="-1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromStockOptionsExercised" xlink:label="us-gaap_ProceedsFromStockOptionsExercised_638451631018501263" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities_638451631018501263" xlink:to="us-gaap_ProceedsFromStockOptionsExercised_638451631018501263" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_638451631018501263" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities_638451631018501263" order="3" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_638451631018501263" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities_638451631018501263" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_638451631018501263" order="1" use="optional" weight="-1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsForProceedsFromShortTermInvestments" xlink:label="us-gaap_PaymentsForProceedsFromShortTermInvestments_638451631018501263" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities_638451631018501263" xlink:to="us-gaap_PaymentsForProceedsFromShortTermInvestments_638451631018501263" order="2" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_638451631018501263" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities_638451631018501263" order="4" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccruedTaxesPayable" xlink:label="us-gaap_IncreaseDecreaseInAccruedTaxesPayable_638451631018501263" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638451631018501263" xlink:to="us-gaap_IncreaseDecreaseInAccruedTaxesPayable_638451631018501263" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities_638451631018511263" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638451631018501263" xlink:to="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities_638451631018511263" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities_638451631018511263" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638451631018501263" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities_638451631018511263" order="3" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssets_638451631018511263" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638451631018501263" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingAssets_638451631018511263" order="4" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_638451631018511263" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638451631018501263" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_638451631018511263" order="5" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_638451631018511263" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638451631018501263" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable_638451631018511263" order="6" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnTerminationOfLease" xlink:label="us-gaap_GainLossOnTerminationOfLease_638451631018511263" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638451631018501263" xlink:to="us-gaap_GainLossOnTerminationOfLease_638451631018511263" order="7" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedContributionPlanIncreaseDecreaseCost" xlink:label="us-gaap_DefinedContributionPlanIncreaseDecreaseCost_638451631018511263" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638451631018501263" xlink:to="us-gaap_DefinedContributionPlanIncreaseDecreaseCost_638451631018511263" order="8" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProvisionForLoanLossesExpensed" xlink:label="us-gaap_ProvisionForLoanLossesExpensed_638451631018511263" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638451631018501263" xlink:to="us-gaap_ProvisionForLoanLossesExpensed_638451631018511263" order="9" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation_638451631018521262" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638451631018501263" xlink:to="us-gaap_ShareBasedCompensation_638451631018521262" order="10" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="us-gaap_DepreciationDepletionAndAmortization_638451631018521262" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638451631018501263" xlink:to="us-gaap_DepreciationDepletionAndAmortization_638451631018521262" order="11" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxesAndTaxCredits" xlink:label="us-gaap_DeferredIncomeTaxesAndTaxCredits_638451631018521262" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638451631018501263" xlink:to="us-gaap_DeferredIncomeTaxesAndTaxCredits_638451631018521262" order="12" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss_638451631018521262" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities_638451631018501263" xlink:to="us-gaap_ProfitLoss_638451631018521262" order="13" use="optional" weight="1" />
  </calculationLink>
  <calculationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesStockBasedCompensationDetails" xlink:type="extended" xlink:title="40102 - Disclosure - Description of Business and Summary of Significant Accounting Estimates and Policies - Stock-based compensation (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherSellingGeneralAndAdministrativeExpense" xlink:label="us-gaap_OtherSellingGeneralAndAdministrativeExpense_638451631018521262" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ShareBasedCompensation" xlink:to="us-gaap_OtherSellingGeneralAndAdministrativeExpense_638451631018521262" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockOptionPlanExpense" xlink:label="us-gaap_StockOptionPlanExpense_638451631018531265" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_ShareBasedCompensation" xlink:to="us-gaap_StockOptionPlanExpense_638451631018531265" order="2" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureShortTermInvestmentsOtherDetails" xlink:type="extended" xlink:title="40201 - Disclosure - Short Term Investments - other (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherShortTermInvestments" xlink:label="us-gaap_OtherShortTermInvestments_1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MoneyMarketFundsAtCarryingValue" xlink:label="us-gaap_MoneyMarketFundsAtCarryingValue_638451631018531265" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OtherShortTermInvestments_1" xlink:to="us-gaap_MoneyMarketFundsAtCarryingValue_638451631018531265" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CertificatesOfDepositAtCarryingValue" xlink:label="us-gaap_CertificatesOfDepositAtCarryingValue_638451631018531265" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OtherShortTermInvestments_1" xlink:to="us-gaap_CertificatesOfDepositAtCarryingValue_638451631018531265" order="2" use="optional" weight="1" />
  </calculationLink>
  <calculationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureAccountsReceivableDetails" xlink:type="extended" xlink:title="40301 - Disclosure - Accounts Receivable (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableGrossCurrent" xlink:label="us-gaap_AccountsReceivableGrossCurrent_638451631018531265" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AccountsReceivableNetCurrent" xlink:to="us-gaap_AccountsReceivableGrossCurrent_638451631018531265" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_638451631018531265" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_AccountsReceivableNetCurrent" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_638451631018531265" order="2" use="optional" weight="-1" />
  </calculationLink>
  <calculationLink xlink:role="http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentPropertyAndEquipmentDetails" xlink:type="extended" xlink:title="40401 - Disclosure - Property and equipment - Property and equipment (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" xlink:label="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization" xlink:label="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization_638451631018541266" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" xlink:to="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization_638451631018541266" order="1" use="optional" weight="-1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" xlink:label="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization_638451631018541266" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" xlink:to="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization_638451631018541266" order="2" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedAmortizationExpenseDetails" xlink:type="extended" xlink:title="40504 - Disclosure - Goodwill and Intangible Assets - Estimated amortization expense (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_638451631018541266" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_638451631018541266" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_FiniteLivedIntangibleAssetExpectedAmortizationThereafter" xlink:label="inod_FiniteLivedIntangibleAssetExpectedAmortizationThereafter_638451631018541266" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="inod_FiniteLivedIntangibleAssetExpectedAmortizationThereafter_638451631018541266" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_638451631018541266" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_638451631018541266" order="3" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_638451631018541266" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_638451631018541266" order="4" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_638451631018541266" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_638451631018541266" order="5" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_638451631018541266" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_638451631018541266" order="6" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureIncomeTaxesComponentsOfProvisionForIncomeTaxesDetails" xlink:type="extended" xlink:title="40601 - Disclosure - Income Taxes - Components of provision for income taxes (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit_637048505953988905" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit_638451631018551264" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeTaxExpenseBenefit_637048505953988905" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefit_638451631018551264" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentForeignTaxExpenseBenefit" xlink:label="us-gaap_CurrentForeignTaxExpenseBenefit_638451631018551264" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CurrentIncomeTaxExpenseBenefit_638451631018551264" xlink:to="us-gaap_CurrentForeignTaxExpenseBenefit_638451631018551264" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentFederalTaxExpenseBenefit" xlink:label="us-gaap_CurrentFederalTaxExpenseBenefit_638451631018551264" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CurrentIncomeTaxExpenseBenefit_638451631018551264" xlink:to="us-gaap_CurrentFederalTaxExpenseBenefit_638451631018551264" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:label="us-gaap_CurrentStateAndLocalTaxExpenseBenefit_638451631018551264" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_CurrentIncomeTaxExpenseBenefit_638451631018551264" xlink:to="us-gaap_CurrentStateAndLocalTaxExpenseBenefit_638451631018551264" order="3" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit_638451631018551264" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeTaxExpenseBenefit_637048505953988905" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit_638451631018551264" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredForeignIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredForeignIncomeTaxExpenseBenefit_638451631018551264" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefit_638451631018551264" xlink:to="us-gaap_DeferredForeignIncomeTaxExpenseBenefit_638451631018551264" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredFederalIncomeTaxExpenseBenefit_638451631018551264" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefit_638451631018551264" xlink:to="us-gaap_DeferredFederalIncomeTaxExpenseBenefit_638451631018551264" order="2" use="optional" weight="1" />
  </calculationLink>
  <calculationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails" xlink:type="extended" xlink:title="40602 - Disclosure - Income Taxes - Tax rate reconciliation (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations" />
    <loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRateBenefitExpense" xlink:label="inod_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRateBenefitExpense_638451631018561264" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="inod_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRateBenefitExpense_638451631018561264" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_638451631018561264" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_638451631018561264" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingenciesForeign" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingenciesForeign_638451631018561264" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingenciesForeign_638451631018561264" order="3" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch_638451631018561264" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch_638451631018561264" order="4" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_EffectiveIncomeTaxRateReconciliationSection162Percentage" xlink:label="inod_EffectiveIncomeTaxRateReconciliationSection162Percentage_638451631018561264" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="inod_EffectiveIncomeTaxRateReconciliationSection162Percentage_638451631018561264" order="5" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_EffectiveIncomeTaxRateReconciliationIncreaseInUnrecognizedTaxBenefits" xlink:label="inod_EffectiveIncomeTaxRateReconciliationIncreaseInUnrecognizedTaxBenefits_638451631018561264" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="inod_EffectiveIncomeTaxRateReconciliationIncreaseInUnrecognizedTaxBenefits_638451631018561264" order="6" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_EffectiveIncomeTaxRateReconciliationWithholdingTaxPercentage" xlink:label="inod_EffectiveIncomeTaxRateReconciliationWithholdingTaxPercentage_638451631018561264" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="inod_EffectiveIncomeTaxRateReconciliationWithholdingTaxPercentage_638451631018561264" order="7" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_638451631018571268" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_638451631018571268" order="8" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_EffectiveIncomeTaxRateReconciliationTaxSettlementIntercompanyPercent" xlink:label="inod_EffectiveIncomeTaxRateReconciliationTaxSettlementIntercompanyPercent_638451631018571268" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="inod_EffectiveIncomeTaxRateReconciliationTaxSettlementIntercompanyPercent_638451631018571268" order="9" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_ForeignOperationsPermanentDifferenceForeignExchangeGainsAndLosses" xlink:label="inod_ForeignOperationsPermanentDifferenceForeignExchangeGainsAndLosses_638451631018571268" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="inod_ForeignOperationsPermanentDifferenceForeignExchangeGainsAndLosses_638451631018571268" order="10" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_EffectiveIncomeTaxRateReconciliationDeemedInterestPercent" xlink:label="inod_EffectiveIncomeTaxRateReconciliationDeemedInterestPercent_638451631018571268" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="inod_EffectiveIncomeTaxRateReconciliationDeemedInterestPercent_638451631018571268" order="11" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_638451631018571268" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_638451631018571268" order="12" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent_638451631018571268" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent_638451631018571268" order="13" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_EffectiveIncomeTaxRateReconciliationReturnToProvisionTrueUp" xlink:label="inod_EffectiveIncomeTaxRateReconciliationReturnToProvisionTrueUp_638451631018571268" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="inod_EffectiveIncomeTaxRateReconciliationReturnToProvisionTrueUp_638451631018571268" order="14" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_638451631018571268" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_638451631018571268" order="15" use="optional" weight="1" />
  </calculationLink>
  <calculationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails" xlink:type="extended" xlink:title="40603 - Disclosure - Income Taxes - Deferred tax assets and liabilities (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:label="us-gaap_DeferredTaxAssetsLiabilitiesNet_637048505954058952" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsNet" xlink:label="us-gaap_DeferredTaxAssetsNet_638451631018581703" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsLiabilitiesNet_637048505954058952" xlink:to="us-gaap_DeferredTaxAssetsNet_638451631018581703" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsGross" xlink:label="us-gaap_DeferredTaxAssetsGross_638451631018581703" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsNet_638451631018581703" xlink:to="us-gaap_DeferredTaxAssetsGross_638451631018581703" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals_638451631018581703" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross_638451631018581703" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals_638451631018581703" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment" xlink:label="us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment_638451631018581703" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross_638451631018581703" xlink:to="us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment_638451631018581703" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits_638451631018581703" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross_638451631018581703" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits_638451631018581703" order="3" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_638451631018581703" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross_638451631018581703" xlink:to="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_638451631018581703" order="4" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch" xlink:label="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch_638451631018591269" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross_638451631018581703" xlink:to="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch_638451631018591269" order="5" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_DeferredTaxAssetsExpensesNotDeductibleUntilPaid" xlink:label="inod_DeferredTaxAssetsExpensesNotDeductibleUntilPaid_638451631018591269" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross_638451631018581703" xlink:to="inod_DeferredTaxAssetsExpensesNotDeductibleUntilPaid_638451631018591269" order="6" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsOther" xlink:label="us-gaap_DeferredTaxAssetsOther_638451631018591269" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsGross_638451631018581703" xlink:to="us-gaap_DeferredTaxAssetsOther_638451631018591269" order="7" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance_638451631018591269" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsNet_638451631018581703" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance_638451631018591269" order="2" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxLiabilities" xlink:label="us-gaap_DeferredIncomeTaxLiabilities_638451631018591269" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredTaxAssetsLiabilitiesNet_637048505954058952" xlink:to="us-gaap_DeferredIncomeTaxLiabilities_638451631018591269" order="2" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesOther" xlink:label="us-gaap_DeferredTaxLiabilitiesOther_638451631018591269" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DeferredIncomeTaxLiabilities_638451631018591269" xlink:to="us-gaap_DeferredTaxLiabilitiesOther_638451631018591269" order="1" use="optional" weight="1" />
  </calculationLink>
  <calculationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureIncomeTaxesUnitedStatesAndForeignComponentsOfIncomeLossDetails" xlink:type="extended" xlink:title="40604 - Disclosure - Income Taxes - United States and foreign components of income (loss) (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign_638451631018601265" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_1" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign_638451631018601265" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic_638451631018601265" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_1" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic_638451631018601265" order="2" use="optional" weight="1" />
  </calculationLink>
  <calculationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureLongTermObligationsDetails" xlink:type="extended" xlink:title="40701 - Disclosure - Long-term obligations (Details)">
    <loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_TotalLongTermObligations" xlink:label="inod_TotalLongTermObligations" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PostemploymentBenefitsLiabilityCurrentAndNoncurrent" xlink:label="us-gaap_PostemploymentBenefitsLiabilityCurrentAndNoncurrent_638451631018601265" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="inod_TotalLongTermObligations" xlink:to="us-gaap_PostemploymentBenefitsLiabilityCurrentAndNoncurrent_638451631018601265" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_SettlementAgreementObligations" xlink:label="inod_SettlementAgreementObligations_638451631018601265" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="inod_TotalLongTermObligations" xlink:to="inod_SettlementAgreementObligations_638451631018601265" order="2" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_MicrosoftLicensesObligations" xlink:label="inod_MicrosoftLicensesObligations_638451631018601265" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="inod_TotalLongTermObligations" xlink:to="inod_MicrosoftLicensesObligations_638451631018601265" order="3" use="optional" weight="1" />
  </calculationLink>
  <calculationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureLongTermObligationsDetailsCalc2" xlink:type="extended" xlink:title="40702 - Disclosure - Long-term obligations (Details) Calc 2">
    <loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_TotalLongTermObligations" xlink:label="inod_TotalLongTermObligations_2" />
    <loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_CurrentPortionOfLongTermObligations" xlink:label="inod_CurrentPortionOfLongTermObligations_638451631018601265" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="inod_TotalLongTermObligations_2" xlink:to="inod_CurrentPortionOfLongTermObligations_638451631018601265" order="1" use="optional" weight="1" />
    <loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_NoncurrentPortionOfLongTermObligations" xlink:label="inod_NoncurrentPortionOfLongTermObligations_638451631018601265" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="inod_TotalLongTermObligations_2" xlink:to="inod_NoncurrentPortionOfLongTermObligations_638451631018601265" order="2" use="optional" weight="1" />
  </calculationLink>
  <calculationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails" xlink:type="extended" xlink:title="40903 - Disclosure - Operating Leases - Net present value of the operating lease liability (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_638451631018611267" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_638451631018611267" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_638451631018611267" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_638451631018611267" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_638451631018611267" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_638451631018611267" order="3" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_638451631018611267" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_638451631018611267" order="4" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_638451631018611267" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_638451631018611267" order="5" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_LesseeOperatingLeaseLiabilityToBePaidThereafter" xlink:label="inod_LesseeOperatingLeaseLiabilityToBePaidThereafter_638451631018611267" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="inod_LesseeOperatingLeaseLiabilityToBePaidThereafter_638451631018611267" order="6" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_638451631018621268" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingLeaseLiability" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_638451631018621268" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_638451631018621268" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_OperatingLeaseLiability" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_638451631018621268" order="2" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.innodata-isogen.com/role/DisclosurePensionBenefitsComponentsOfNetPeriodicPensionCostDetails" xlink:type="extended" xlink:title="41002 - Disclosure - Pension Benefits - Components of Net Periodic Pension Cost (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost" xlink:label="us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost_637048505954854594" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanServiceCost" xlink:label="us-gaap_DefinedBenefitPlanServiceCost_638451631018621268" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost_637048505954854594" xlink:to="us-gaap_DefinedBenefitPlanServiceCost_638451631018621268" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanInterestCost" xlink:label="us-gaap_DefinedBenefitPlanInterestCost_638451631018621268" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost_637048505954854594" xlink:to="us-gaap_DefinedBenefitPlanInterestCost_638451631018621268" order="2" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanRecognizedNetGainLossDueToCurtailments" xlink:label="us-gaap_DefinedBenefitPlanRecognizedNetGainLossDueToCurtailments_638451631018621268" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost_637048505954854594" xlink:to="us-gaap_DefinedBenefitPlanRecognizedNetGainLossDueToCurtailments_638451631018621268" order="3" use="optional" weight="-1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanActuarialGainLossImmediateRecognitionAsComponentInNetPeriodicBenefitCostCredit" xlink:label="us-gaap_DefinedBenefitPlanActuarialGainLossImmediateRecognitionAsComponentInNetPeriodicBenefitCostCredit_638451631018621268" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost_637048505954854594" xlink:to="us-gaap_DefinedBenefitPlanActuarialGainLossImmediateRecognitionAsComponentInNetPeriodicBenefitCostCredit_638451631018621268" order="4" use="optional" weight="-1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.innodata-isogen.com/role/DisclosurePensionBenefitsRecognizedInBalanceSheetsDetails" xlink:type="extended" xlink:title="41003 - Disclosure - Pension Benefits - Recognized in balance sheets (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesCurrentAndNoncurrent" xlink:label="us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesCurrentAndNoncurrent_637048505954864605" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities" xlink:label="us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities_638451631018631269" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesCurrentAndNoncurrent_637048505954864605" xlink:to="us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities_638451631018631269" order="1" use="optional" weight="1" priority="2" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent" xlink:label="us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent_638451631018631269" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesCurrentAndNoncurrent_637048505954864605" xlink:to="us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent_638451631018631269" order="2" use="optional" weight="1" priority="2" />
  </calculationLink>
  <calculationLink xlink:role="http://www.innodata-isogen.com/role/DisclosurePensionBenefitsEstimatedFutureBenefitPaymentsDetails" xlink:type="extended" xlink:title="41005 - Disclosure - Pension Benefits - Estimated future benefit payments (Details)">
    <loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_DefinedBenefitPlanExpectedFutureBenefitPayments" xlink:label="inod_DefinedBenefitPlanExpectedFutureBenefitPayments_637048505954904634" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths" xlink:label="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths_638451631018631269" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="inod_DefinedBenefitPlanExpectedFutureBenefitPayments_637048505954904634" xlink:to="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths_638451631018631269" order="1" use="optional" weight="1" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearTwo" xlink:label="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearTwo_638451631018631269" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="inod_DefinedBenefitPlanExpectedFutureBenefitPayments_637048505954904634" xlink:to="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearTwo_638451631018631269" order="2" use="optional" weight="1" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearThree" xlink:label="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearThree_638451631018631269" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="inod_DefinedBenefitPlanExpectedFutureBenefitPayments_637048505954904634" xlink:to="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearThree_638451631018631269" order="3" use="optional" weight="1" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFour" xlink:label="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFour_638451631018631269" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="inod_DefinedBenefitPlanExpectedFutureBenefitPayments_637048505954904634" xlink:to="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFour_638451631018631269" order="4" use="optional" weight="1" priority="1" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFive" xlink:label="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFive_638451631018631269" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="inod_DefinedBenefitPlanExpectedFutureBenefitPayments_637048505954904634" xlink:to="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFive_638451631018631269" order="5" use="optional" weight="1" priority="1" />
    <loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_DefinedBenefitPlanExpectedFutureBenefitPaymentYearSixToYearNine" xlink:label="inod_DefinedBenefitPlanExpectedFutureBenefitPaymentYearSixToYearNine_638451631018641271" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="inod_DefinedBenefitPlanExpectedFutureBenefitPayments_637048505954904634" xlink:to="inod_DefinedBenefitPlanExpectedFutureBenefitPaymentYearSixToYearNine_638451631018641271" order="6" use="optional" weight="1" />
  </calculationLink>
  <calculationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureLossPerShareDetails" xlink:type="extended" xlink:title="41501 - Disclosure - Loss per Share (Details)">
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" />
    <loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_638451631018641271" />
    <calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_638451631018641271" order="1" use="optional" weight="1" />
  </calculationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>12
<FILENAME>inod-20231231_def.xml
<DESCRIPTION>EX-101.DEF
<TEXT>
<XBRL>
<?xml version="1.0" encoding="utf-8"?>
<!--XBRL document created with Toppan Merrill Bridge  10.5.0.8 -->
<!--Based on XBRL 2.1-->
<!--Created on: 3/4/2024 3:31:44 PM-->
<!--Modified on: 3/4/2024 3:31:44 PM-->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.xbrl.org/2003/linkbase" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance">
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#StatementConsolidatedStatementsOfStockholdersEquity" roleURI="http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfStockholdersEquity" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureStockOptionsTables" roleURI="http://www.innodata-isogen.com/role/DisclosureStockOptionsTables" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosurePropertyAndEquipmentPropertyAndEquipmentDetails" roleURI="http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentPropertyAndEquipmentDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosurePropertyAndEquipmentAdditionalInformationDetails" roleURI="http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentAdditionalInformationDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureGoodwillAndIntangibleAssetsDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureIncomeTaxesDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureOperatingLeasesDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureOperatingLeasesDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureOperatingLeasesFinancialStatementsRelatedToOperatingLeasesDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureOperatingLeasesFinancialStatementsRelatedToOperatingLeasesDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosurePensionBenefitsActuarialAssumptionsDetails" roleURI="http://www.innodata-isogen.com/role/DisclosurePensionBenefitsActuarialAssumptionsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosurePensionBenefitsAdditionalInformationDetails" roleURI="http://www.innodata-isogen.com/role/DisclosurePensionBenefitsAdditionalInformationDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureCapitalStockDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureCapitalStockDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureStockOptionsWeightedAverageFairValuesAndAssumptionsDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureStockOptionsWeightedAverageFairValuesAndAssumptionsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureStockOptionsSummaryOfStockOptionActivityDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionActivityDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureStockOptionsSummaryOfStockOptionAndRestrictedStockOptionActivityDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionAndRestrictedStockOptionActivityDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureStockOptionsAdditionalInformationDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureStockOptionsAdditionalInformationDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureComprehensiveLossReclassificationsFromAccumulatedOtherComprehensiveLossDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureComprehensiveLossReclassificationsFromAccumulatedOtherComprehensiveLossDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureSegmentReportingAndConcentrationsDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureSegmentReportingAndConcentrationsLongLivedAssetsDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsLongLivedAssetsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureSegmentReportingAndConcentrationsRevenuesByGeographicRegionDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsRevenuesByGeographicRegionDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureSegmentReportingAndConcentrationsAdditionalInformationDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsAdditionalInformationDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureLossPerShareAdditionalInformationDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureLossPerShareAdditionalInformationDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureDerivativesFairValueOfDerivativeInstrumentsDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureDerivativesFairValueOfDerivativeInstrumentsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureLineOfCreditDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureLineOfCreditDetails" />
  <link:arcroleRef arcroleURI="http://www.esma.europa.eu/xbrl/esef/arcrole/wider-narrower" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/arcrole/esma-arcrole-2018-11-21.xsd#wider-narrower" />
  <link:roleRef roleURI="http://www.innodata-isogen.com/role/DisclosureStandardAndCustomAxisDomainDefaults" xlink:href="inod-20231231.xsd#DisclosureStandardAndCustomAxisDomainDefaults" xlink:type="simple" />
  <link:roleRef xlink:type="simple" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-roles-2023.xsd#eedm" roleURI="http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/all" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#all" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-default" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-domain" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/domain-member" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#domain-member" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#hypercube-dimension" />
  <link:definitionLink xlink:role="http://fasb.org/us-gaap/role/eedm/ExtensibleEnumerationLists" xlink:type="extended" xlink:title="Extensible Enumeration Domain Members">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfOtherComprehensiveIncomeAbstract" xlink:label="us-gaap_StatementOfOtherComprehensiveIncomeAbstract" xlink:title="us-gaap_StatementOfOtherComprehensiveIncomeAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax_1" xlink:title="us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_StatementOfOtherComprehensiveIncomeAbstract" xlink:to="us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:title="definition:us-gaap_StatementOfOtherComprehensiveIncomeAbstract To us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax_1" order="1" priority="0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementAbstract" xlink:label="us-gaap_IncomeStatementAbstract" xlink:title="us-gaap_IncomeStatementAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax_2" xlink:title="us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax_2" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax_2" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:title="definition:us-gaap_IncomeStatementAbstract To us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax_2" order="2" priority="0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill_1" xlink:title="us-gaap_IntangibleAssetsNetExcludingGoodwill_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:title="definition:us-gaap_IncomeStatementAbstract To us-gaap_IntangibleAssetsNetExcludingGoodwill_1" order="1" priority="0" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.innodata-isogen.com/role/DisclosureStandardAndCustomAxisDomainDefaults" xlink:type="extended" xlink:title="99900 - Disclosure - Standard And Custom Axis Domain Defaults">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementClassOfStockAxis" xlink:label="us-gaap_StatementClassOfStockAxis_1" xlink:title="us-gaap_StatementClassOfStockAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockDomain" xlink:label="us-gaap_ClassOfStockDomain_1" xlink:title="us-gaap_ClassOfStockDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_StatementClassOfStockAxis_1" xlink:to="us-gaap_ClassOfStockDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_StatementClassOfStockAxis_1 To us-gaap_ClassOfStockDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis_1" xlink:title="srt_ProductOrServiceAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain" xlink:label="srt_ProductsAndServicesDomain_1" xlink:title="srt_ProductsAndServicesDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_ProductOrServiceAxis_1" xlink:to="srt_ProductsAndServicesDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_ProductOrServiceAxis_1 To srt_ProductsAndServicesDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis_1" xlink:title="us-gaap_StatementEquityComponentsAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain_1" xlink:title="us-gaap_EquityComponentDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_StatementEquityComponentsAxis_1" xlink:to="us-gaap_EquityComponentDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_StatementEquityComponentsAxis_1 To us-gaap_EquityComponentDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RestatementAxis" xlink:label="srt_RestatementAxis_1" xlink:title="srt_RestatementAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RestatementDomain" xlink:label="srt_RestatementDomain_1" xlink:title="srt_RestatementDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_RestatementAxis_1" xlink:to="srt_RestatementDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_RestatementAxis_1 To srt_RestatementDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_CumulativeEffectPeriodOfAdoptionAxis" xlink:label="srt_CumulativeEffectPeriodOfAdoptionAxis_1" xlink:title="srt_CumulativeEffectPeriodOfAdoptionAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_CumulativeEffectPeriodOfAdoptionDomain" xlink:label="srt_CumulativeEffectPeriodOfAdoptionDomain_1" xlink:title="srt_CumulativeEffectPeriodOfAdoptionDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_CumulativeEffectPeriodOfAdoptionAxis_1" xlink:to="srt_CumulativeEffectPeriodOfAdoptionDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_CumulativeEffectPeriodOfAdoptionAxis_1 To srt_CumulativeEffectPeriodOfAdoptionDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis_1" xlink:title="us-gaap_IncomeStatementLocationAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain_1" xlink:title="us-gaap_IncomeStatementLocationDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_IncomeStatementLocationAxis_1" xlink:to="us-gaap_IncomeStatementLocationDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_IncomeStatementLocationAxis_1 To us-gaap_IncomeStatementLocationDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis_1" xlink:title="srt_StatementGeographicalAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain_1" xlink:title="srt_SegmentGeographicalDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_StatementGeographicalAxis_1" xlink:to="srt_SegmentGeographicalDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_StatementGeographicalAxis_1 To srt_SegmentGeographicalDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_SubsidiaryAxis" xlink:label="inod_SubsidiaryAxis_1" xlink:title="inod_SubsidiaryAxis_1" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_NameOfSubsidiaryDomain" xlink:label="inod_NameOfSubsidiaryDomain_1" xlink:title="inod_NameOfSubsidiaryDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="inod_SubsidiaryAxis_1" xlink:to="inod_NameOfSubsidiaryDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:inod_SubsidiaryAxis_1 To inod_NameOfSubsidiaryDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis_1" xlink:title="us-gaap_BalanceSheetLocationAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain_1" xlink:title="us-gaap_BalanceSheetLocationDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_BalanceSheetLocationAxis_1" xlink:to="us-gaap_BalanceSheetLocationDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_BalanceSheetLocationAxis_1 To us-gaap_BalanceSheetLocationDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis" xlink:label="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis_1" xlink:title="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsForErrorCorrectionDomain" xlink:label="us-gaap_AdjustmentsForErrorCorrectionDomain_1" xlink:title="us-gaap_AdjustmentsForErrorCorrectionDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis_1" xlink:to="us-gaap_AdjustmentsForErrorCorrectionDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis_1 To us-gaap_AdjustmentsForErrorCorrectionDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_OwnershipAxis" xlink:label="srt_OwnershipAxis_1" xlink:title="srt_OwnershipAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_OwnershipDomain" xlink:label="srt_OwnershipDomain_1" xlink:title="srt_OwnershipDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_OwnershipAxis_1" xlink:to="srt_OwnershipDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_OwnershipAxis_1 To srt_OwnershipDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis_1" xlink:title="us-gaap_StatementBusinessSegmentsAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain_1" xlink:title="us-gaap_SegmentDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_StatementBusinessSegmentsAxis_1" xlink:to="us-gaap_SegmentDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_StatementBusinessSegmentsAxis_1 To us-gaap_SegmentDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis_1" xlink:title="srt_RangeAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember_1" xlink:title="srt_RangeMember_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_RangeAxis_1" xlink:to="srt_RangeMember_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_RangeAxis_1 To srt_RangeMember_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:label="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_1" xlink:title="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="us-gaap_TypeOfAdoptionMember_1" xlink:title="us-gaap_TypeOfAdoptionMember_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_1" xlink:to="us-gaap_TypeOfAdoptionMember_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_1 To us-gaap_TypeOfAdoptionMember_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis" xlink:label="us-gaap_ErrorCorrectionsAndPriorPeriodAdjustmentsRestatementByRestatementPeriodAndAmountAxis" xlink:title="us-gaap_QuantifyingMisstatementInCurrentYearFinancialStatementsByNatureOfErrorAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsForErrorCorrectionDomain" xlink:label="us-gaap_AdjustmentsForErrorCorrectionDomain" xlink:title="us-gaap_NatureOfErrorDomain_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementScenarioAxis" xlink:label="srt_StatementScenarioAxis_1" xlink:title="srt_StatementScenarioAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="srt_ScenarioUnspecifiedDomain_1" xlink:title="srt_ScenarioUnspecifiedDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_StatementScenarioAxis_1" xlink:to="srt_ScenarioUnspecifiedDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_StatementScenarioAxis_1 To srt_ScenarioUnspecifiedDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis_1" xlink:title="us-gaap_PropertyPlantAndEquipmentByTypeAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain_1" xlink:title="us-gaap_PropertyPlantAndEquipmentTypeDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis_1" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_PropertyPlantAndEquipmentByTypeAxis_1 To us-gaap_PropertyPlantAndEquipmentTypeDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_1" xlink:title="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_1" xlink:title="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_1" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_1 To us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LegalEntityAxis" xlink:label="dei_LegalEntityAxis_1" xlink:title="dei_LegalEntityAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityDomain" xlink:label="dei_EntityDomain_1" xlink:title="dei_EntityDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="dei_LegalEntityAxis_1" xlink:to="dei_EntityDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:dei_LegalEntityAxis_1 To dei_EntityDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ChangeInAccountingEstimateByTypeAxis" xlink:label="us-gaap_ChangeInAccountingEstimateByTypeAxis_1" xlink:title="us-gaap_ChangeInAccountingEstimateByTypeAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ChangeInAccountingEstimateTypeDomain" xlink:label="us-gaap_ChangeInAccountingEstimateTypeDomain_1" xlink:title="us-gaap_ChangeInAccountingEstimateTypeDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_ChangeInAccountingEstimateByTypeAxis_1" xlink:to="us-gaap_ChangeInAccountingEstimateTypeDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_ChangeInAccountingEstimateByTypeAxis_1 To us-gaap_ChangeInAccountingEstimateTypeDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="us-gaap_IncomeTaxAuthorityAxis_1" xlink:title="us-gaap_IncomeTaxAuthorityAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="us-gaap_IncomeTaxAuthorityDomain_1" xlink:title="us-gaap_IncomeTaxAuthorityDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_IncomeTaxAuthorityAxis_1" xlink:to="us-gaap_IncomeTaxAuthorityDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_IncomeTaxAuthorityAxis_1 To us-gaap_IncomeTaxAuthorityDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="srt_ConsolidatedEntitiesAxis_1" xlink:title="srt_ConsolidatedEntitiesAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="srt_ConsolidatedEntitiesDomain_1" xlink:title="srt_ConsolidatedEntitiesDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_ConsolidatedEntitiesAxis_1" xlink:to="srt_ConsolidatedEntitiesDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_ConsolidatedEntitiesAxis_1 To srt_ConsolidatedEntitiesDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxCreditCarryforwardAxis" xlink:label="us-gaap_TaxCreditCarryforwardAxis_1" xlink:title="us-gaap_TaxCreditCarryforwardAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxCreditCarryforwardNameDomain" xlink:label="us-gaap_TaxCreditCarryforwardNameDomain_1" xlink:title="us-gaap_TaxCreditCarryforwardNameDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_TaxCreditCarryforwardAxis_1" xlink:to="us-gaap_TaxCreditCarryforwardNameDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_TaxCreditCarryforwardAxis_1 To us-gaap_TaxCreditCarryforwardNameDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis_1" xlink:title="srt_MajorCustomersAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain_1" xlink:title="srt_NameOfMajorCustomerDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_MajorCustomersAxis_1" xlink:to="srt_NameOfMajorCustomerDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_MajorCustomersAxis_1 To srt_NameOfMajorCustomerDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:label="us-gaap_FairValueByFairValueHierarchyLevelAxis_1" xlink:title="us-gaap_FairValueByFairValueHierarchyLevelAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="us-gaap_FairValueMeasurementsFairValueHierarchyDomain_1" xlink:title="us-gaap_FairValueMeasurementsFairValueHierarchyDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_FairValueByFairValueHierarchyLevelAxis_1" xlink:to="us-gaap_FairValueMeasurementsFairValueHierarchyDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_FairValueByFairValueHierarchyLevelAxis_1 To us-gaap_FairValueMeasurementsFairValueHierarchyDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_LitigationCaseAxis" xlink:label="srt_LitigationCaseAxis_1" xlink:title="srt_LitigationCaseAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_LitigationCaseTypeDomain" xlink:label="srt_LitigationCaseTypeDomain_1" xlink:title="srt_LitigationCaseTypeDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_LitigationCaseAxis_1" xlink:to="srt_LitigationCaseTypeDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_LitigationCaseAxis_1 To srt_LitigationCaseTypeDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OptionIndexedToIssuersEquityEquityAxis" xlink:label="us-gaap_OptionIndexedToIssuersEquityEquityAxis_1" xlink:title="us-gaap_OptionIndexedToIssuersEquityEquityAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OptionIndexedToIssuersEquityTypeDomain" xlink:label="us-gaap_OptionIndexedToIssuersEquityTypeDomain_1" xlink:title="us-gaap_OptionIndexedToIssuersEquityTypeDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_OptionIndexedToIssuersEquityEquityAxis_1" xlink:to="us-gaap_OptionIndexedToIssuersEquityTypeDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_OptionIndexedToIssuersEquityEquityAxis_1 To us-gaap_OptionIndexedToIssuersEquityTypeDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis_1" xlink:title="us-gaap_AwardTypeAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_1" xlink:title="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_AwardTypeAxis_1" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_AwardTypeAxis_1 To us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_1" xlink:title="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyDomain" xlink:label="us-gaap_RelatedPartyDomain_1" xlink:title="us-gaap_RelatedPartyDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_1" xlink:to="us-gaap_RelatedPartyDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_1 To us-gaap_RelatedPartyDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis_1" xlink:title="us-gaap_PlanNameAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain_1" xlink:title="us-gaap_PlanNameDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_PlanNameAxis_1" xlink:to="us-gaap_PlanNameDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_PlanNameAxis_1 To us-gaap_PlanNameDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentAxis" xlink:label="us-gaap_DebtInstrumentAxis_1" xlink:title="us-gaap_DebtInstrumentAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="us-gaap_DebtInstrumentNameDomain_1" xlink:title="us-gaap_DebtInstrumentNameDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_DebtInstrumentAxis_1" xlink:to="us-gaap_DebtInstrumentNameDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_DebtInstrumentAxis_1 To us-gaap_DebtInstrumentNameDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TypeOfArrangementAxis" xlink:label="us-gaap_TypeOfArrangementAxis_1" xlink:title="us-gaap_TypeOfArrangementAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:label="us-gaap_ArrangementsAndNonarrangementTransactionsMember_1" xlink:title="us-gaap_ArrangementsAndNonarrangementTransactionsMember_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_TypeOfArrangementAxis_1" xlink:to="us-gaap_ArrangementsAndNonarrangementTransactionsMember_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_TypeOfArrangementAxis_1 To us-gaap_ArrangementsAndNonarrangementTransactionsMember_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualAxis" xlink:label="srt_TitleOfIndividualAxis_1" xlink:title="srt_TitleOfIndividualAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain_1" xlink:title="srt_TitleOfIndividualWithRelationshipToEntityDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_TitleOfIndividualAxis_1" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_TitleOfIndividualAxis_1 To srt_TitleOfIndividualWithRelationshipToEntityDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_ReportableSegmentDisclosureAxis" xlink:label="inod_ReportableSegmentDisclosureAxis_1" xlink:title="inod_ReportableSegmentDisclosureAxis_1" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_ReportableSegmentDisclosureDomain" xlink:label="inod_ReportableSegmentDisclosureDomain_1" xlink:title="inod_ReportableSegmentDisclosureDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="inod_ReportableSegmentDisclosureAxis_1" xlink:to="inod_ReportableSegmentDisclosureDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:inod_ReportableSegmentDisclosureAxis_1 To inod_ReportableSegmentDisclosureDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsegmentsConsolidationItemsAxis" xlink:label="us-gaap_SubsegmentsConsolidationItemsAxis_1" xlink:title="us-gaap_SubsegmentsConsolidationItemsAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsegmentsConsolidationItemsDomain" xlink:label="us-gaap_SubsegmentsConsolidationItemsDomain_1" xlink:title="us-gaap_SubsegmentsConsolidationItemsDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_SubsegmentsConsolidationItemsAxis_1" xlink:to="us-gaap_SubsegmentsConsolidationItemsDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_SubsegmentsConsolidationItemsAxis_1 To us-gaap_SubsegmentsConsolidationItemsDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_AllCountriesAxis" xlink:label="inod_AllCountriesAxis_1" xlink:title="inod_AllCountriesAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_AllCountriesDomain" xlink:label="country_AllCountriesDomain_1" xlink:title="country_AllCountriesDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="inod_AllCountriesAxis_1" xlink:to="country_AllCountriesDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:inod_AllCountriesAxis_1 To country_AllCountriesDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis_1" xlink:title="us-gaap_ConcentrationRiskByBenchmarkAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain_1" xlink:title="us-gaap_ConcentrationRiskBenchmarkDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis_1" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_ConcentrationRiskByBenchmarkAxis_1 To us-gaap_ConcentrationRiskBenchmarkDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis_1" xlink:title="us-gaap_ConcentrationRiskByTypeAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain_1" xlink:title="us-gaap_ConcentrationRiskTypeDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_ConcentrationRiskByTypeAxis_1" xlink:to="us-gaap_ConcentrationRiskTypeDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_ConcentrationRiskByTypeAxis_1 To us-gaap_ConcentrationRiskTypeDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_1" xlink:title="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain_1" xlink:title="us-gaap_AntidilutiveSecuritiesNameDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_1" xlink:to="us-gaap_AntidilutiveSecuritiesNameDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_1 To us-gaap_AntidilutiveSecuritiesNameDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OptionIndexedToIssuersEquityTypeAxis" xlink:label="us-gaap_OptionIndexedToIssuersEquityTypeAxis_1" xlink:title="us-gaap_OptionIndexedToIssuersEquityTypeAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OptionIndexedToIssuersEquityTypeDomain" xlink:label="us-gaap_OptionIndexedToIssuersEquityTypeDomain_2" xlink:title="us-gaap_OptionIndexedToIssuersEquityTypeDomain_2" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_OptionIndexedToIssuersEquityTypeAxis_1" xlink:to="us-gaap_OptionIndexedToIssuersEquityTypeDomain_2" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_OptionIndexedToIssuersEquityTypeAxis_1 To us-gaap_OptionIndexedToIssuersEquityTypeDomain_2" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_HedgingDesignationAxis" xlink:label="us-gaap_HedgingDesignationAxis_1" xlink:title="us-gaap_HedgingDesignationAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_HedgingDesignationDomain" xlink:label="us-gaap_HedgingDesignationDomain_1" xlink:title="us-gaap_HedgingDesignationDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_HedgingDesignationAxis_1" xlink:to="us-gaap_HedgingDesignationDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_HedgingDesignationAxis_1 To us-gaap_HedgingDesignationDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeInstrumentRiskAxis" xlink:label="us-gaap_DerivativeInstrumentRiskAxis_1" xlink:title="us-gaap_DerivativeInstrumentRiskAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="us-gaap_DerivativeContractTypeDomain_1" xlink:title="us-gaap_DerivativeContractTypeDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_DerivativeInstrumentRiskAxis_1" xlink:to="us-gaap_DerivativeContractTypeDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_DerivativeInstrumentRiskAxis_1 To us-gaap_DerivativeContractTypeDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="us-gaap_SubsequentEventTypeAxis_1" xlink:title="us-gaap_SubsequentEventTypeAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="us-gaap_SubsequentEventTypeDomain_1" xlink:title="us-gaap_SubsequentEventTypeDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_SubsequentEventTypeAxis_1" xlink:to="us-gaap_SubsequentEventTypeDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_SubsequentEventTypeAxis_1 To us-gaap_SubsequentEventTypeDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis_1" xlink:title="us-gaap_BusinessAcquisitionAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain_1" xlink:title="us-gaap_BusinessAcquisitionAcquireeDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_BusinessAcquisitionAxis_1" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_BusinessAcquisitionAxis_1 To us-gaap_BusinessAcquisitionAcquireeDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ConsolidationItemsAxis" xlink:label="srt_ConsolidationItemsAxis_1" xlink:title="srt_ConsolidationItemsAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ConsolidationItemsDomain" xlink:label="srt_ConsolidationItemsDomain_1" xlink:title="srt_ConsolidationItemsDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="srt_ConsolidationItemsAxis_1" xlink:to="srt_ConsolidationItemsDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:srt_ConsolidationItemsAxis_1 To srt_ConsolidationItemsDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateAxis" xlink:label="us-gaap_VariableRateAxis_1" xlink:title="us-gaap_VariableRateAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateDomain" xlink:label="us-gaap_VariableRateDomain_1" xlink:title="us-gaap_VariableRateDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_VariableRateAxis_1" xlink:to="us-gaap_VariableRateDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_VariableRateAxis_1 To us-gaap_VariableRateDomain_1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis_1" xlink:title="us-gaap_CreditFacilityAxis_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain_1" xlink:title="us-gaap_CreditFacilityDomain_1" />
    <link:definitionArc xlink:type="arc" xlink:from="us-gaap_CreditFacilityAxis_1" xlink:to="us-gaap_CreditFacilityDomain_1" use="optional" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:title="definition:us-gaap_CreditFacilityAxis_1 To us-gaap_CreditFacilityDomain_1" order="1" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfStockholdersEquity" xlink:type="extended" xlink:title="00300 - Statement - CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementEquityComponentsAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain_638451631018651282" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain_638451631018651282" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_CommonStockMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="us-gaap_AdditionalPaidInCapitalMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_AdditionalPaidInCapitalMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_RetainedEarningsMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonMember" xlink:label="us-gaap_TreasuryStockCommonMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_TreasuryStockCommonMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockholdersEquity" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonShares" xlink:label="us-gaap_TreasuryStockCommonShares" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TreasuryStockCommonShares" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesOutstanding" xlink:label="us-gaap_SharesOutstanding" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharesOutstanding" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetIncomeLoss" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockValueSharesIssuedNetOfTaxWithholdings" xlink:label="us-gaap_RestrictedStockValueSharesIssuedNetOfTaxWithholdings" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RestrictedStockValueSharesIssuedNetOfTaxWithholdings" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockSharesIssuedNetOfSharesForTaxWithholdings" xlink:label="us-gaap_RestrictedStockSharesIssuedNetOfSharesForTaxWithholdings" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_RestrictedStockSharesIssuedNetOfSharesForTaxWithholdings" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalOther" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalOther" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalOther" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="13" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="14" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="15" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.innodata-isogen.com/role/DisclosureStockOptionsTables" xlink:type="extended" xlink:title="31203 - Disclosure - Stock Options (Tables)">
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_StockOptionsTable" xlink:label="inod_StockOptionsTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="inod_StockOptionsTable" xlink:to="us-gaap_AwardTypeAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638451631018681265" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638451631018681265" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="inod_StockOptionsTable" xlink:to="us-gaap_PlanNameAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain_638451631018691278" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain_638451631018691278" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_EquityPlansMember" xlink:label="inod_EquityPlansMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_PlanNameDomain" xlink:to="inod_EquityPlansMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_StockOptionsLineItems" xlink:label="inod_StockOptionsLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="inod_StockOptionsLineItems" xlink:to="inod_StockOptionsTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="inod_StockOptionsLineItems" xlink:to="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="inod_StockOptionsLineItems" xlink:to="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="inod_StockOptionsLineItems" xlink:to="us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDetails" xlink:type="extended" xlink:title="40101 - Disclosure - Description of Business and Summary of Significant Accounting Estimates and Policies (Details)">
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesTable" xlink:label="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesTable" xlink:to="srt_StatementGeographicalAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain_638451631018701269" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain_638451631018701269" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_AsiaMember" xlink:label="srt_AsiaMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_SegmentGeographicalDomain" xlink:to="srt_AsiaMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_US" xlink:label="country_US" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_US" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesTable" xlink:to="srt_RangeAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember_638451631018701269" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember_638451631018701269" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="3" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesTable" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain_638451631018711269" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain_638451631018711269" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SoftwareDevelopmentMember" xlink:label="us-gaap_SoftwareDevelopmentMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_SoftwareDevelopmentMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InProcessResearchAndDevelopmentMember" xlink:label="us-gaap_InProcessResearchAndDevelopmentMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_InProcessResearchAndDevelopmentMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems" xlink:label="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems" xlink:to="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NumberOfReportableSegments" xlink:label="us-gaap_NumberOfReportableSegments" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_NumberOfReportableSegments" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CapitalizedContractCostAmortizationPeriod" xlink:label="us-gaap_CapitalizedContractCostAmortizationPeriod" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_CapitalizedContractCostAmortizationPeriod" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:label="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetUsefulLife" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignCurrencyContractAssetFairValueDisclosure" xlink:label="us-gaap_ForeignCurrencyContractAssetFairValueDisclosure" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_ForeignCurrencyContractAssetFairValueDisclosure" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentUsefulLife" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" xlink:label="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredRevenue" xlink:label="us-gaap_DeferredRevenue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems" xlink:to="us-gaap_DeferredRevenue" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentPropertyAndEquipmentDetails" xlink:type="extended" xlink:title="40401 - Disclosure - Property and equipment - Property and equipment (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain_638451631018741275" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain_638451631018741275" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquipmentMember" xlink:label="us-gaap_EquipmentMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_EquipmentMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FurnitureAndFixturesMember" xlink:label="us-gaap_FurnitureAndFixturesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_FurnitureAndFixturesMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="us-gaap_LeaseholdImprovementsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_LeaseholdImprovementsMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComputerSoftwareIntangibleAssetMember" xlink:label="us-gaap_ComputerSoftwareIntangibleAssetMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_ComputerSoftwareIntangibleAssetMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConstructionInProgressMember" xlink:label="us-gaap_ConstructionInProgressMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_ConstructionInProgressMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" xlink:label="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization" xlink:label="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" xlink:label="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentAdditionalInformationDetails" xlink:type="extended" xlink:title="40402 - Disclosure - Property and equipment - Additional Information (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain_638451631018761276" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain_638451631018761276" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentMember" xlink:label="us-gaap_PropertyPlantAndEquipmentMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_PropertyPlantAndEquipmentMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="srt_RangeAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember_638451631018761276" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember_638451631018761276" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentUsefulLife" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="us-gaap_DepreciationDepletionAndAmortization" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_DepreciationDepletionAndAmortization" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsDetails" xlink:type="extended" xlink:title="40502 - Disclosure - Goodwill and Intangible Assets (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_638451631018771269" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_638451631018771269" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComputerSoftwareIntangibleAssetMember" xlink:label="us-gaap_ComputerSoftwareIntangibleAssetMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_ComputerSoftwareIntangibleAssetMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_AcquiredIntangibleAssetsMember" xlink:label="inod_AcquiredIntangibleAssetsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="inod_AcquiredIntangibleAssetsMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillImpairmentLoss" xlink:label="us-gaap_GoodwillImpairmentLoss" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_GoodwillImpairmentLoss" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_Goodwill" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_AmortizationOfIntangibleAssets" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails" xlink:type="extended" xlink:title="40503 - Disclosure - Goodwill and Intangible Assets - Acquisition-related intangible assets (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_638451631018791279" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_638451631018791279" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_AcquiredIntangibleAssetsMember" xlink:label="inod_AcquiredIntangibleAssetsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="inod_AcquiredIntangibleAssetsMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DevelopedTechnologyRightsMember" xlink:label="us-gaap_DevelopedTechnologyRightsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="inod_AcquiredIntangibleAssetsMember" xlink:to="us-gaap_DevelopedTechnologyRightsMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="us-gaap_CustomerRelationshipsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="inod_AcquiredIntangibleAssetsMember" xlink:to="us-gaap_CustomerRelationshipsMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TrademarksAndTradeNamesMember" xlink:label="us-gaap_TrademarksAndTradeNamesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="inod_AcquiredIntangibleAssetsMember" xlink:to="us-gaap_TrademarksAndTradeNamesMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PatentsMember" xlink:label="us-gaap_PatentsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="inod_AcquiredIntangibleAssetsMember" xlink:to="us-gaap_PatentsMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DatabasesMember" xlink:label="us-gaap_DatabasesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="inod_AcquiredIntangibleAssetsMember" xlink:to="us-gaap_DatabasesMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComputerSoftwareIntangibleAssetMember" xlink:label="us-gaap_ComputerSoftwareIntangibleAssetMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_ComputerSoftwareIntangibleAssetMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_CapitalizedSoftwareDevelopmentCostMember" xlink:label="inod_CapitalizedSoftwareDevelopmentCostMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ComputerSoftwareIntangibleAssetMember" xlink:to="inod_CapitalizedSoftwareDevelopmentCostMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember" xlink:label="inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ComputerSoftwareIntangibleAssetMember" xlink:to="inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsGross" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment" xlink:label="inod_FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="inod_FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDetails" xlink:type="extended" xlink:title="40606 - Disclosure - Income Taxes (Details)">
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_IncomeTaxesTable" xlink:label="inod_IncomeTaxesTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="inod_IncomeTaxesTable" xlink:to="srt_RangeAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember_638451631018931312" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember_638451631018931312" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="us-gaap_IncomeTaxAuthorityAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="inod_IncomeTaxesTable" xlink:to="us-gaap_IncomeTaxAuthorityAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="us-gaap_IncomeTaxAuthorityDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_IncomeTaxAuthorityAxis" xlink:to="us-gaap_IncomeTaxAuthorityDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="us-gaap_IncomeTaxAuthorityDomain_638451631018931312" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_IncomeTaxAuthorityAxis" xlink:to="us-gaap_IncomeTaxAuthorityDomain_638451631018931312" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DomesticCountryMember" xlink:label="us-gaap_DomesticCountryMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="us-gaap_DomesticCountryMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="srt_ConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="3" xlink:from="inod_IncomeTaxesTable" xlink:to="srt_ConsolidatedEntitiesAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="srt_ConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ConsolidatedEntitiesAxis" xlink:to="srt_ConsolidatedEntitiesDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="srt_ConsolidatedEntitiesDomain_638451631018941274" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="srt_ConsolidatedEntitiesAxis" xlink:to="srt_ConsolidatedEntitiesDomain_638451631018941274" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_CanadianSubsidiariesMember" xlink:label="inod_CanadianSubsidiariesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_ConsolidatedEntitiesDomain" xlink:to="inod_CanadianSubsidiariesMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_GermanAndUnitedKingdomSubsidiariesMember" xlink:label="inod_GermanAndUnitedKingdomSubsidiariesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_ConsolidatedEntitiesDomain" xlink:to="inod_GermanAndUnitedKingdomSubsidiariesMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_IncomeTaxesLineItems" xlink:label="inod_IncomeTaxesLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="inod_IncomeTaxesLineItems" xlink:to="inod_IncomeTaxesTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="inod_IncomeTaxesLineItems" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount" xlink:label="us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="inod_IncomeTaxesLineItems" xlink:to="us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLossCarryforwards" xlink:label="us-gaap_OperatingLossCarryforwards" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="inod_IncomeTaxesLineItems" xlink:to="us-gaap_OperatingLossCarryforwards" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="inod_IncomeTaxesLineItems" xlink:to="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsNotSubjectToExpiration" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsNotSubjectToExpiration" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="inod_IncomeTaxesLineItems" xlink:to="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsNotSubjectToExpiration" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch" xlink:label="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="inod_IncomeTaxesLineItems" xlink:to="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UndistributedEarningsOfForeignSubsidiaries" xlink:label="us-gaap_UndistributedEarningsOfForeignSubsidiaries" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="inod_IncomeTaxesLineItems" xlink:to="us-gaap_UndistributedEarningsOfForeignSubsidiaries" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_PercentageForSubsidiaryServiceTax" xlink:label="inod_PercentageForSubsidiaryServiceTax" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="inod_IncomeTaxesLineItems" xlink:to="inod_PercentageForSubsidiaryServiceTax" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_SubsidiaryRevenue" xlink:label="inod_SubsidiaryRevenue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="inod_IncomeTaxesLineItems" xlink:to="inod_SubsidiaryRevenue" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_ReversalOfServiceTaxRefund" xlink:label="inod_ReversalOfServiceTaxRefund" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="inod_IncomeTaxesLineItems" xlink:to="inod_ReversalOfServiceTaxRefund" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_ServiceTaxCreditReceivable" xlink:label="inod_ServiceTaxCreditReceivable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" xlink:from="inod_IncomeTaxesLineItems" xlink:to="inod_ServiceTaxCreditReceivable" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefits" xlink:label="us-gaap_UnrecognizedTaxBenefits" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="13" xlink:from="inod_IncomeTaxesLineItems" xlink:to="us-gaap_UnrecognizedTaxBenefits" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.innodata-isogen.com/role/DisclosureOperatingLeasesDetails" xlink:type="extended" xlink:title="40901 - Disclosure - Operating Leases (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeLeaseDescriptionTable" xlink:label="us-gaap_LesseeLeaseDescriptionTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_LesseeLeaseDescriptionTable" xlink:to="srt_RangeAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember_638451631018971279" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember_638451631018971279" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeLeaseDescriptionLineItems" xlink:label="us-gaap_LesseeLeaseDescriptionLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems" xlink:to="us-gaap_LesseeLeaseDescriptionTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseTermOfContract" xlink:label="us-gaap_LesseeOperatingLeaseTermOfContract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems" xlink:to="us-gaap_LesseeOperatingLeaseTermOfContract" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_PercentageOfRentalEscalations" xlink:label="inod_PercentageOfRentalEscalations" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems" xlink:to="inod_PercentageOfRentalEscalations" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.innodata-isogen.com/role/DisclosureOperatingLeasesFinancialStatementsRelatedToOperatingLeasesDetails" xlink:type="extended" xlink:title="40902 - Disclosure - Operating Leases - Financial statements related to operating leases (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeLeaseDescriptionTable" xlink:label="us-gaap_LesseeLeaseDescriptionTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_LesseeLeaseDescriptionTable" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain_638451631018981277" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain_638451631018981277" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_LongTermOperatingLeaseMember" xlink:label="inod_LongTermOperatingLeaseMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="inod_LongTermOperatingLeaseMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_ShortTermOperatingLeaseMember" xlink:label="inod_ShortTermOperatingLeaseMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="inod_ShortTermOperatingLeaseMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeLeaseDescriptionLineItems" xlink:label="us-gaap_LesseeLeaseDescriptionLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems" xlink:to="us-gaap_LesseeLeaseDescriptionTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseExpense" xlink:label="us-gaap_OperatingLeaseExpense" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems" xlink:to="us-gaap_OperatingLeaseExpense" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.innodata-isogen.com/role/DisclosurePensionBenefitsActuarialAssumptionsDetails" xlink:type="extended" xlink:title="41004 - Disclosure - Pension Benefits - Actuarial assumptions (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable" xlink:label="us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable" xlink:to="srt_RangeAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember_638451631018991276" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember_638451631018991276" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanDisclosureLineItems" xlink:label="us-gaap_DefinedBenefitPlanDisclosureLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_DefinedBenefitPlanDisclosureLineItems" xlink:to="us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate" xlink:label="us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_DefinedBenefitPlanDisclosureLineItems" xlink:to="us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationRateOfCompensationIncrease" xlink:label="us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationRateOfCompensationIncrease" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_DefinedBenefitPlanDisclosureLineItems" xlink:to="us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationRateOfCompensationIncrease" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.innodata-isogen.com/role/DisclosurePensionBenefitsAdditionalInformationDetails" xlink:type="extended" xlink:title="41006 - Disclosure - Pension Benefits - Additional Information (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable" xlink:label="us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable" xlink:to="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyDomain" xlink:label="us-gaap_RelatedPartyDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:to="us-gaap_RelatedPartyDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyDomain" xlink:label="us-gaap_RelatedPartyDomain_638451631019001273" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:to="us-gaap_RelatedPartyDomain_638451631019001273" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SubsidiariesMember" xlink:label="srt_SubsidiariesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="srt_SubsidiariesMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanDisclosureLineItems" xlink:label="us-gaap_DefinedBenefitPlanDisclosureLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_DefinedBenefitPlanDisclosureLineItems" xlink:to="us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_DefinedContributionPensionPlanPeriodOfServiceToBecomeEligible" xlink:label="inod_DefinedContributionPensionPlanPeriodOfServiceToBecomeEligible" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_DefinedBenefitPlanDisclosureLineItems" xlink:to="inod_DefinedContributionPensionPlanPeriodOfServiceToBecomeEligible" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PensionExpense" xlink:label="us-gaap_PensionExpense" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_DefinedBenefitPlanDisclosureLineItems" xlink:to="us-gaap_PensionExpense" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanAccumulatedBenefitObligation" xlink:label="us-gaap_DefinedBenefitPlanAccumulatedBenefitObligation" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_DefinedBenefitPlanDisclosureLineItems" xlink:to="us-gaap_DefinedBenefitPlanAccumulatedBenefitObligation" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.innodata-isogen.com/role/DisclosureCapitalStockDetails" xlink:type="extended" xlink:title="41101 - Disclosure - Capital Stock (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfStockByClassTable" xlink:label="us-gaap_ScheduleOfStockByClassTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfStockByClassTable" xlink:to="us-gaap_StatementEquityComponentsAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain_638451631019011279" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain_638451631019011279" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonMember" xlink:label="us-gaap_TreasuryStockCommonMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_TreasuryStockCommonMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_ScheduleOfStockByClassTable" xlink:to="us-gaap_PlanNameAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain_638451631019011279" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain_638451631019011279" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_July2019Member" xlink:label="inod_July2019Member" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_PlanNameDomain" xlink:to="inod_July2019Member" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockLineItems" xlink:label="us-gaap_ClassOfStockLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_ClassOfStockLineItems" xlink:to="us-gaap_ScheduleOfStockByClassTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="us-gaap_CommonStockSharesAuthorized" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ClassOfStockLineItems" xlink:to="us-gaap_CommonStockSharesAuthorized" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_NumberOfVotesForEachShareOfCommonStock" xlink:label="inod_NumberOfVotesForEachShareOfCommonStock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ClassOfStockLineItems" xlink:to="inod_NumberOfVotesForEachShareOfCommonStock" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockDividendsPerShareDeclared" xlink:label="us-gaap_CommonStockDividendsPerShareDeclared" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_ClassOfStockLineItems" xlink:to="us-gaap_CommonStockDividendsPerShareDeclared" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesAuthorized" xlink:label="us-gaap_PreferredStockSharesAuthorized" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_ClassOfStockLineItems" xlink:to="us-gaap_PreferredStockSharesAuthorized" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" xlink:label="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_ClassOfStockLineItems" xlink:to="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchaseProgramAuthorizedAmount1" xlink:label="us-gaap_StockRepurchaseProgramAuthorizedAmount1" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_ClassOfStockLineItems" xlink:to="us-gaap_StockRepurchaseProgramAuthorizedAmount1" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchasedDuringPeriodShares" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_ClassOfStockLineItems" xlink:to="us-gaap_StockRepurchasedDuringPeriodShares" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonValue" xlink:label="us-gaap_TreasuryStockCommonValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_ClassOfStockLineItems" xlink:to="us-gaap_TreasuryStockCommonValue" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.innodata-isogen.com/role/DisclosureStockOptionsWeightedAverageFairValuesAndAssumptionsDetails" xlink:type="extended" xlink:title="41201 - Disclosure - Stock Options - Weighted Average Fair Values and Assumptions (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="srt_RangeAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember_638451631019031271" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember_638451631019031271" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_AwardTypeAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638451631019041277" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638451631019041277" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_EmployeeStockOptionMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionActivityDetails" xlink:type="extended" xlink:title="41202 - Disclosure - Stock Options - Summary of Stock Option Activity (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OptionIndexedToIssuersEquityEquityAxis" xlink:label="us-gaap_OptionIndexedToIssuersEquityEquityAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_OptionIndexedToIssuersEquityEquityAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OptionIndexedToIssuersEquityTypeDomain" xlink:label="us-gaap_OptionIndexedToIssuersEquityTypeDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_OptionIndexedToIssuersEquityEquityAxis" xlink:to="us-gaap_OptionIndexedToIssuersEquityTypeDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OptionIndexedToIssuersEquityTypeDomain" xlink:label="us-gaap_OptionIndexedToIssuersEquityTypeDomain_638451631019051272" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_OptionIndexedToIssuersEquityEquityAxis" xlink:to="us-gaap_OptionIndexedToIssuersEquityTypeDomain_638451631019051272" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_OptionIndexedToIssuersEquityTypeDomain" xlink:to="us-gaap_EmployeeStockOptionMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualAxis" xlink:label="srt_TitleOfIndividualAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="srt_TitleOfIndividualAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain_638451631019061281" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain_638451631019061281" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_DirectorMember" xlink:label="srt_DirectorMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="srt_DirectorMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="3" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_PlanNameAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain_638451631019061281" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain_638451631019061281" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_TwoThousandThirteenStockPlanMember" xlink:label="inod_TwoThousandThirteenStockPlanMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_PlanNameDomain" xlink:to="inod_TwoThousandThirteenStockPlanMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_TwoThousandTwentyOneEquityCompensationPlanMember" xlink:label="inod_TwoThousandTwentyOneEquityCompensationPlanMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_PlanNameDomain" xlink:to="inod_TwoThousandTwentyOneEquityCompensationPlanMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="9" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="10" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="11" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="12" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="13" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="14" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="15" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="16" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="17" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="18" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="19" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="20" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionAndRestrictedStockOptionActivityDetails" xlink:type="extended" xlink:title="41203 - Disclosure - Stock Options - Summary of stock option and Restricted Stock option activity (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_AwardTypeAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638451631019111273" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638451631019111273" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_PlanNameAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain_638451631019121283" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain_638451631019121283" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_TwoThousandThirteenStockPlanMember" xlink:label="inod_TwoThousandThirteenStockPlanMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_PlanNameDomain" xlink:to="inod_TwoThousandThirteenStockPlanMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_TwoThousandTwentyOneEquityCompensationPlanMember" xlink:label="inod_TwoThousandTwentyOneEquityCompensationPlanMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_PlanNameDomain" xlink:to="inod_TwoThousandTwentyOneEquityCompensationPlanMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_EquityPlansMember" xlink:label="inod_EquityPlansMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_PlanNameDomain" xlink:to="inod_EquityPlansMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.innodata-isogen.com/role/DisclosureStockOptionsAdditionalInformationDetails" xlink:type="extended" xlink:title="41204 - Disclosure - Stock Options - Additional Information (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_PlanNameAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain_638451631019131273" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain_638451631019131273" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_TwoThousandThirteenStockPlanMember" xlink:label="inod_TwoThousandThirteenStockPlanMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_PlanNameDomain" xlink:to="inod_TwoThousandThirteenStockPlanMember" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_TwoThousandTwentyOneEquityCompensationPlanMember" xlink:label="inod_TwoThousandTwentyOneEquityCompensationPlanMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_PlanNameDomain" xlink:to="inod_TwoThousandTwentyOneEquityCompensationPlanMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_TwoThousandTwentyOneEquityCompensationPlanOtherMember" xlink:label="inod_TwoThousandTwentyOneEquityCompensationPlanOtherMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="inod_TwoThousandTwentyOneEquityCompensationPlanMember" xlink:to="inod_TwoThousandTwentyOneEquityCompensationPlanOtherMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_AwardsGrantedPriorToApril112022Member" xlink:label="inod_AwardsGrantedPriorToApril112022Member" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="inod_TwoThousandTwentyOneEquityCompensationPlanMember" xlink:to="inod_AwardsGrantedPriorToApril112022Member" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_AwardsGrantedOnOrAfterApril112022Member" xlink:label="inod_AwardsGrantedOnOrAfterApril112022Member" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="inod_TwoThousandTwentyOneEquityCompensationPlanMember" xlink:to="inod_AwardsGrantedOnOrAfterApril112022Member" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_EquityPlansMember" xlink:label="inod_EquityPlansMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_PlanNameDomain" xlink:to="inod_EquityPlansMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OptionIndexedToIssuersEquityEquityAxis" xlink:label="us-gaap_OptionIndexedToIssuersEquityEquityAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_OptionIndexedToIssuersEquityEquityAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OptionIndexedToIssuersEquityTypeDomain" xlink:label="us-gaap_OptionIndexedToIssuersEquityTypeDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_OptionIndexedToIssuersEquityEquityAxis" xlink:to="us-gaap_OptionIndexedToIssuersEquityTypeDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OptionIndexedToIssuersEquityTypeDomain" xlink:label="us-gaap_OptionIndexedToIssuersEquityTypeDomain_638451631019141280" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_OptionIndexedToIssuersEquityEquityAxis" xlink:to="us-gaap_OptionIndexedToIssuersEquityTypeDomain_638451631019141280" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_OptionIndexedToIssuersEquityTypeDomain" xlink:to="us-gaap_EmployeeStockOptionMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="3" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_AwardTypeAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638451631019151272" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638451631019151272" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesUnderlyingOutstandingOptionsOrRights" xlink:label="inod_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesUnderlyingOutstandingOptionsOrRights" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="inod_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesUnderlyingOutstandingOptionsOrRights" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_ReservationOfSharesSubjectToOptionOrStockAppreciationRightsGrantedRatio" xlink:label="inod_ReservationOfSharesSubjectToOptionOrStockAppreciationRightsGrantedRatio" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="inod_ReservationOfSharesSubjectToOptionOrStockAppreciationRightsGrantedRatio" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_NumberOfSharesEligibleToReceiveForEachFullyVestedRsu" xlink:label="inod_NumberOfSharesEligibleToReceiveForEachFullyVestedRsu" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="inod_NumberOfSharesEligibleToReceiveForEachFullyVestedRsu" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.innodata-isogen.com/role/DisclosureComprehensiveLossReclassificationsFromAccumulatedOtherComprehensiveLossDetails" xlink:type="extended" xlink:title="41301 - Disclosure - Comprehensive loss - Reclassifications from accumulated other comprehensive loss (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" xlink:to="us-gaap_StatementEquityComponentsAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain_638451631019171276" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain_638451631019171276" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember" xlink:label="us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember" xlink:label="us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedTranslationAdjustmentMember" xlink:label="us-gaap_AccumulatedTranslationAdjustmentMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_AccumulatedTranslationAdjustmentMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="us-gaap_StockholdersEquity" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" xlink:label="inod_TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="inod_TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax" xlink:label="us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsDetails" xlink:type="extended" xlink:title="41401 - Disclosure - Segment reporting and concentrations (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="us-gaap_StatementBusinessSegmentsAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="us-gaap_SegmentDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain_638451631019181277" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="us-gaap_SegmentDomain_638451631019181277" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_DdsMember" xlink:label="inod_DdsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_SegmentDomain" xlink:to="inod_DdsMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_SynodexMember" xlink:label="inod_SynodexMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_SegmentDomain" xlink:to="inod_SynodexMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_AgilityMember" xlink:label="inod_AgilityMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_SegmentDomain" xlink:to="inod_AgilityMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsegmentsConsolidationItemsAxis" xlink:label="us-gaap_SubsegmentsConsolidationItemsAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="us-gaap_SubsegmentsConsolidationItemsAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsegmentsConsolidationItemsDomain" xlink:label="us-gaap_SubsegmentsConsolidationItemsDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_SubsegmentsConsolidationItemsAxis" xlink:to="us-gaap_SubsegmentsConsolidationItemsDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsegmentsConsolidationItemsDomain" xlink:label="us-gaap_SubsegmentsConsolidationItemsDomain_638451631019191279" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_SubsegmentsConsolidationItemsAxis" xlink:to="us-gaap_SubsegmentsConsolidationItemsDomain_638451631019191279" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_BeforeIntersegmentEliminationsMember" xlink:label="inod_BeforeIntersegmentEliminationsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_SubsegmentsConsolidationItemsDomain" xlink:to="inod_BeforeIntersegmentEliminationsMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_AfterIntersegmentEliminationsMember" xlink:label="inod_AfterIntersegmentEliminationsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_SubsegmentsConsolidationItemsDomain" xlink:to="inod_AfterIntersegmentEliminationsMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ConsolidationItemsAxis" xlink:label="srt_ConsolidationItemsAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="3" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="srt_ConsolidationItemsAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ConsolidationItemsDomain" xlink:label="srt_ConsolidationItemsDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_ConsolidationItemsAxis" xlink:to="srt_ConsolidationItemsDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ConsolidationItemsDomain" xlink:label="srt_ConsolidationItemsDomain_638451631019201272" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="srt_ConsolidationItemsAxis" xlink:to="srt_ConsolidationItemsDomain_638451631019201272" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingSegmentsMember" xlink:label="us-gaap_OperatingSegmentsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_ConsolidationItemsDomain" xlink:to="us-gaap_OperatingSegmentsMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingInformationLineItems" xlink:label="us-gaap_SegmentReportingInformationLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Revenues" xlink:label="us-gaap_Revenues" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_Revenues" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_Assets" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_Goodwill" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsLongLivedAssetsDetails" xlink:type="extended" xlink:title="41402 - Disclosure - Segment reporting and concentrations - Long-lived assets (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:label="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:to="srt_StatementGeographicalAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain_638451631019211272" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain_638451631019211272" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_US" xlink:label="country_US" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_US" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_CA" xlink:label="country_CA" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_CA" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_GB" xlink:label="country_GB" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_GB" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_PH" xlink:label="country_PH" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_PH" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_IN" xlink:label="country_IN" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_IN" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_LK" xlink:label="country_LK" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_LK" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/stpr/2023/stpr-2023.xsd#stpr_IL" xlink:label="stpr_IL" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="srt_SegmentGeographicalDomain" xlink:to="stpr_IL" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_ForeignCountriesMember" xlink:label="inod_ForeignCountriesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="srt_SegmentGeographicalDomain" xlink:to="inod_ForeignCountriesMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:label="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:to="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncurrentAssets" xlink:label="us-gaap_NoncurrentAssets" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:to="us-gaap_NoncurrentAssets" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsRevenuesByGeographicRegionDetails" xlink:type="extended" xlink:title="41403 - Disclosure - Segment reporting and concentrations - Revenues by geographic region (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="srt_StatementGeographicalAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain_638451631019231275" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain_638451631019231275" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_US" xlink:label="country_US" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_US" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_GB" xlink:label="country_GB" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_GB" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_NL" xlink:label="country_NL" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_NL" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_CA" xlink:label="country_CA" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_CA" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_OtherPrincipallyEuropeMember" xlink:label="inod_OtherPrincipallyEuropeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="srt_SegmentGeographicalDomain" xlink:to="inod_OtherPrincipallyEuropeMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingInformationLineItems" xlink:label="us-gaap_SegmentReportingInformationLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Revenues" xlink:label="us-gaap_Revenues" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_Revenues" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsAdditionalInformationDetails" xlink:type="extended" xlink:title="41404 - Disclosure - Segment reporting and concentrations - Additional information (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="srt_MajorCustomersAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_NameOfMajorCustomerDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain_638451631019241286" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_NameOfMajorCustomerDomain_638451631019241286" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_ForeignCustomerMember" xlink:label="inod_ForeignCustomerMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="inod_ForeignCustomerMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_OneClientMember" xlink:label="inod_OneClientMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="inod_OneClientMember" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_TwoClientMember" xlink:label="inod_TwoClientMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="inod_TwoClientMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_FourClientsMember" xlink:label="inod_FourClientsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="inod_FourClientsMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_ThreeClientsMember" xlink:label="inod_ThreeClientsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="inod_ThreeClientsMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_ClientMember" xlink:label="inod_ClientMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="inod_ClientMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="srt_RangeAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember_638451631019251282" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember_638451631019251282" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="3" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain_638451631019261275" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain_638451631019261275" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SalesRevenueNetMember" xlink:label="us-gaap_SalesRevenueNetMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_SalesRevenueNetMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableMember" xlink:label="us-gaap_AccountsReceivableMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_AccountsReceivableMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="4" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="us-gaap_ConcentrationRiskByTypeAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain_638451631019271273" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain_638451631019271273" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="us-gaap_CustomerConcentrationRiskMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_ConcentrationRiskTypeDomain" xlink:to="us-gaap_CustomerConcentrationRiskMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="5" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="srt_StatementGeographicalAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain_638451631019271273" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain_638451631019271273" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_US" xlink:label="country_US" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_US" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonUsMember" xlink:label="us-gaap_NonUsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="srt_SegmentGeographicalDomain" xlink:to="us-gaap_NonUsMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingInformationLineItems" xlink:label="us-gaap_SegmentReportingInformationLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NumberOfReportableSegments" xlink:label="us-gaap_NumberOfReportableSegments" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_NumberOfReportableSegments" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_NumberOfClient" xlink:label="inod_NumberOfClient" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="inod_NumberOfClient" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="us-gaap_ConcentrationRiskPercentage1" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_ConcentrationRiskPercentage1" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.innodata-isogen.com/role/DisclosureLossPerShareAdditionalInformationDetails" xlink:type="extended" xlink:title="41502 - Disclosure - Loss per Share - Additional information (Details)">
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_ScheduleOfEarningsPerShareBasicAndDilutedTable" xlink:label="inod_ScheduleOfEarningsPerShareBasicAndDilutedTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="inod_ScheduleOfEarningsPerShareBasicAndDilutedTable" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="us-gaap_AntidilutiveSecuritiesNameDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain_638451631019291273" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="us-gaap_AntidilutiveSecuritiesNameDomain_638451631019291273" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_AntidilutiveSecuritiesNameDomain" xlink:to="us-gaap_EmployeeStockOptionMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="inod_ScheduleOfEarningsPerShareBasicAndDilutedTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.innodata-isogen.com/role/DisclosureDerivativesFairValueOfDerivativeInstrumentsDetails" xlink:type="extended" xlink:title="41602 - Disclosure - Derivatives - Fair value of derivative instruments (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" xlink:label="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" xlink:to="us-gaap_BalanceSheetLocationAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain_638451631019301278" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationDomain_638451631019301278" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesMember" xlink:label="us-gaap_AccruedLiabilitiesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="us-gaap_AccruedLiabilitiesMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember" xlink:label="us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeInstrumentRiskAxis" xlink:label="us-gaap_DerivativeInstrumentRiskAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" xlink:to="us-gaap_DerivativeInstrumentRiskAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="us-gaap_DerivativeContractTypeDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_DerivativeInstrumentRiskAxis" xlink:to="us-gaap_DerivativeContractTypeDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="us-gaap_DerivativeContractTypeDomain_638451631019311280" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_DerivativeInstrumentRiskAxis" xlink:to="us-gaap_DerivativeContractTypeDomain_638451631019311280" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignExchangeForwardMember" xlink:label="us-gaap_ForeignExchangeForwardMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_DerivativeContractTypeDomain" xlink:to="us-gaap_ForeignExchangeForwardMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_HedgingDesignationAxis" xlink:label="us-gaap_HedgingDesignationAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="3" xlink:from="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" xlink:to="us-gaap_HedgingDesignationAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_HedgingDesignationDomain" xlink:label="us-gaap_HedgingDesignationDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_HedgingDesignationAxis" xlink:to="us-gaap_HedgingDesignationDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_HedgingDesignationDomain" xlink:label="us-gaap_HedgingDesignationDomain_638451631019311280" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_HedgingDesignationAxis" xlink:to="us-gaap_HedgingDesignationDomain_638451631019311280" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DesignatedAsHedgingInstrumentMember" xlink:label="us-gaap_DesignatedAsHedgingInstrumentMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_HedgingDesignationDomain" xlink:to="us-gaap_DesignatedAsHedgingInstrumentMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativesFairValueLineItems" xlink:label="us-gaap_DerivativesFairValueLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_DerivativesFairValueLineItems" xlink:to="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeInstrumentsAndHedgesLiabilities" xlink:label="us-gaap_DerivativeInstrumentsAndHedgesLiabilities" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_DerivativesFairValueLineItems" xlink:to="us-gaap_DerivativeInstrumentsAndHedgesLiabilities" priority="1" use="optional" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.innodata-isogen.com/role/DisclosureLineOfCreditDetails" xlink:type="extended" xlink:title="41701 - Disclosure - Line Of Credit (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityTable" xlink:label="us-gaap_LineOfCreditFacilityTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="1" xlink:from="us-gaap_LineOfCreditFacilityTable" xlink:to="us-gaap_CreditFacilityAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain_638451631019331279" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityDomain_638451631019331279" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="us-gaap_RevolvingCreditFacilityMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="us-gaap_RevolvingCreditFacilityMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateAxis" xlink:label="us-gaap_VariableRateAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" order="2" xlink:from="us-gaap_LineOfCreditFacilityTable" xlink:to="us-gaap_VariableRateAxis" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateDomain" xlink:label="us-gaap_VariableRateDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" order="1" xlink:from="us-gaap_VariableRateAxis" xlink:to="us-gaap_VariableRateDomain" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateDomain" xlink:label="us-gaap_VariableRateDomain_638451631019331279" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" order="1" xlink:from="us-gaap_VariableRateAxis" xlink:to="us-gaap_VariableRateDomain_638451631019331279" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember" xlink:label="us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="1" xlink:from="us-gaap_VariableRateDomain" xlink:to="us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityLineItems" xlink:label="us-gaap_LineOfCreditFacilityLineItems" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" order="1" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="us-gaap_LineOfCreditFacilityTable" use="optional" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="2" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_LineOfCreditFacilityPercentageOfEligibleAccountsConsideredForDeterminationOfBorrowingBase" xlink:label="inod_LineOfCreditFacilityPercentageOfEligibleAccountsConsideredForDeterminationOfBorrowingBase" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="3" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="inod_LineOfCreditFacilityPercentageOfEligibleAccountsConsideredForDeterminationOfBorrowingBase" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_LineOfCreditFacilityPercentageOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase" xlink:label="inod_LineOfCreditFacilityPercentageOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="4" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="inod_LineOfCreditFacilityPercentageOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_LineOfCreditFacilityMaximumAmountOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase" xlink:label="inod_LineOfCreditFacilityMaximumAmountOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="5" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="inod_LineOfCreditFacilityMaximumAmountOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="6" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_LineOfCreditFacilityCovenantTermsThresholdMinimumRequiredFixedChargeCoverageRatio" xlink:label="inod_LineOfCreditFacilityCovenantTermsThresholdMinimumRequiredFixedChargeCoverageRatio" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="7" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="inod_LineOfCreditFacilityCovenantTermsThresholdMinimumRequiredFixedChargeCoverageRatio" priority="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:label="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" order="8" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" priority="1" use="optional" />
  </link:definitionLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>13
<FILENAME>inod-20231231_lab.xml
<DESCRIPTION>EX-101.LAB
<TEXT>
<XBRL>
<?xml version="1.0" encoding="utf-8"?>
<!--XBRL document created with Toppan Merrill Bridge  10.5.0.8 -->
<!--Based on XBRL 2.1-->
<!--Created on: 3/4/2024 3:31:44 PM-->
<!--Modified on: 3/4/2024 3:31:44 PM-->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrldt="http://xbrl.org/2005/xbrldt">
  <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedLabel" roleURI="http://www.xbrl.org/2009/role/negatedLabel" />
  <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTotalLabel" roleURI="http://www.xbrl.org/2009/role/negatedTotalLabel" />
  <link:labelLink xlink:type="extended" xlink:role="http://www.xbrl.org/2003/role/link">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CoverAbstract" xlink:label="dei_CoverAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CoverAbstract" xlink:to="dei_CoverAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CoverAbstract_lbl" xml:lang="en-US">Document and Entity Information</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentInformationTable" xlink:label="dei_DocumentInformationTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentInformationTable" xlink:to="dei_DocumentInformationTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentInformationTable_lbl" xml:lang="en-US">Document Information [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentInformationLineItems" xlink:label="dei_DocumentInformationLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentInformationLineItems" xlink:to="dei_DocumentInformationLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentInformationLineItems_lbl" xml:lang="en-US">Document Information [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="dei_DocumentInformationLineItems_lbl" xml:lang="en-US">Document and Entity Information</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentType" xlink:label="dei_DocumentType" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentType" xlink:to="dei_DocumentType_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentType_lbl" xml:lang="en-US">Document Type</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentAnnualReport" xlink:label="dei_DocumentAnnualReport" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentAnnualReport" xlink:to="dei_DocumentAnnualReport_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentAnnualReport_lbl" xml:lang="en-US">Document Annual Report</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentPeriodEndDate" xlink:to="dei_DocumentPeriodEndDate_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentPeriodEndDate_lbl" xml:lang="en-US">Document Period End Date</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentTransitionReport" xlink:label="dei_DocumentTransitionReport" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentTransitionReport" xlink:to="dei_DocumentTransitionReport_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentTransitionReport_lbl" xml:lang="en-US">Document Transition Report</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFileNumber" xlink:label="dei_EntityFileNumber" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityFileNumber" xlink:to="dei_EntityFileNumber_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityFileNumber_lbl" xml:lang="en-US">Entity File Number</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityRegistrantName" xlink:to="dei_EntityRegistrantName_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityRegistrantName_lbl" xml:lang="en-US">Entity Registrant Name</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="dei_EntityIncorporationStateCountryCode" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityIncorporationStateCountryCode" xlink:to="dei_EntityIncorporationStateCountryCode_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityIncorporationStateCountryCode_lbl" xml:lang="en-US">Entity Incorporation, State or Country Code</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityTaxIdentificationNumber" xlink:label="dei_EntityTaxIdentificationNumber" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityTaxIdentificationNumber" xlink:to="dei_EntityTaxIdentificationNumber_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityTaxIdentificationNumber_lbl" xml:lang="en-US">Entity Tax Identification Number</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine1" xlink:to="dei_EntityAddressAddressLine1_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressAddressLine1_lbl" xml:lang="en-US">Entity Address, Address Line One</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressCityOrTown" xlink:to="dei_EntityAddressCityOrTown_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressCityOrTown_lbl" xml:lang="en-US">Entity Address, City or Town</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressStateOrProvince" xlink:label="dei_EntityAddressStateOrProvince" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressStateOrProvince" xlink:to="dei_EntityAddressStateOrProvince_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressStateOrProvince_lbl" xml:lang="en-US">Entity Address, State or Province</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressPostalZipCode" xlink:to="dei_EntityAddressPostalZipCode_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressPostalZipCode_lbl" xml:lang="en-US">Entity Address, Postal Zip Code</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CityAreaCode" xlink:to="dei_CityAreaCode_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CityAreaCode_lbl" xml:lang="en-US">City Area Code</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_LocalPhoneNumber" xlink:to="dei_LocalPhoneNumber_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_LocalPhoneNumber_lbl" xml:lang="en-US">Local Phone Number</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Security12bTitle" xlink:label="dei_Security12bTitle" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_Security12bTitle" xlink:to="dei_Security12bTitle_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_Security12bTitle_lbl" xml:lang="en-US">Title of 12(b) Security</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_TradingSymbol" xlink:label="dei_TradingSymbol" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_TradingSymbol" xlink:to="dei_TradingSymbol_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_TradingSymbol_lbl" xml:lang="en-US">Trading Symbol</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_SecurityExchangeName" xlink:to="dei_SecurityExchangeName_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_SecurityExchangeName_lbl" xml:lang="en-US">Security Exchange Name</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityVoluntaryFilers" xlink:label="dei_EntityVoluntaryFilers" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityVoluntaryFilers" xlink:to="dei_EntityVoluntaryFilers_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityVoluntaryFilers_lbl" xml:lang="en-US">Entity Voluntary Filers</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCurrentReportingStatus" xlink:label="dei_EntityCurrentReportingStatus" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCurrentReportingStatus" xlink:to="dei_EntityCurrentReportingStatus_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityCurrentReportingStatus_lbl" xml:lang="en-US">Entity Current Reporting Status</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityInteractiveDataCurrent" xlink:label="dei_EntityInteractiveDataCurrent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityInteractiveDataCurrent" xlink:to="dei_EntityInteractiveDataCurrent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityInteractiveDataCurrent_lbl" xml:lang="en-US">Entity Interactive Data Current</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFilerCategory" xlink:label="dei_EntityFilerCategory" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityFilerCategory" xlink:to="dei_EntityFilerCategory_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityFilerCategory_lbl" xml:lang="en-US">Entity Filer Category</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityPublicFloat" xlink:label="dei_EntityPublicFloat" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityPublicFloat" xlink:to="dei_EntityPublicFloat_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityPublicFloat_lbl" xml:lang="en-US">Entity Public Float</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntitySmallBusiness" xlink:label="dei_EntitySmallBusiness" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntitySmallBusiness" xlink:to="dei_EntitySmallBusiness_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntitySmallBusiness_lbl" xml:lang="en-US">Entity Small Business</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityEmergingGrowthCompany" xlink:to="dei_EntityEmergingGrowthCompany_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityEmergingGrowthCompany_lbl" xml:lang="en-US">Entity Emerging Growth Company</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityShellCompany" xlink:label="dei_EntityShellCompany" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityShellCompany" xlink:to="dei_EntityShellCompany_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityShellCompany_lbl" xml:lang="en-US">Entity Shell Company</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="dei_EntityCommonStockSharesOutstanding" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCommonStockSharesOutstanding" xlink:to="dei_EntityCommonStockSharesOutstanding_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityCommonStockSharesOutstanding_lbl" xml:lang="en-US">Entity Common Stock, Shares Outstanding</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCentralIndexKey" xlink:to="dei_EntityCentralIndexKey_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityCentralIndexKey_lbl" xml:lang="en-US">Entity Central Index Key</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CurrentFiscalYearEndDate" xlink:label="dei_CurrentFiscalYearEndDate" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CurrentFiscalYearEndDate" xlink:to="dei_CurrentFiscalYearEndDate_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CurrentFiscalYearEndDate_lbl" xml:lang="en-US">Current Fiscal Year End Date</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityWellKnownSeasonedIssuer" xlink:label="dei_EntityWellKnownSeasonedIssuer" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityWellKnownSeasonedIssuer" xlink:to="dei_EntityWellKnownSeasonedIssuer_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityWellKnownSeasonedIssuer_lbl" xml:lang="en-US">Entity Well-known Seasoned Issuer</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFinStmtErrorCorrectionFlag" xlink:label="dei_DocumentFinStmtErrorCorrectionFlag" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFinStmtErrorCorrectionFlag" xlink:to="dei_DocumentFinStmtErrorCorrectionFlag_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentFinStmtErrorCorrectionFlag_lbl" xml:lang="en-US">Document Financial Statement Error Correction [Flag]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalYearFocus" xlink:label="dei_DocumentFiscalYearFocus" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFiscalYearFocus" xlink:to="dei_DocumentFiscalYearFocus_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentFiscalYearFocus_lbl" xml:lang="en-US">Document Fiscal Year Focus</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="dei_DocumentFiscalPeriodFocus" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFiscalPeriodFocus" xlink:to="dei_DocumentFiscalPeriodFocus_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentFiscalPeriodFocus_lbl" xml:lang="en-US">Document Fiscal Period Focus</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AmendmentFlag" xlink:to="dei_AmendmentFlag_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AmendmentFlag_lbl" xml:lang="en-US">Amendment Flag</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditorName" xlink:label="dei_AuditorName" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AuditorName" xlink:to="dei_AuditorName_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AuditorName_lbl" xml:lang="en-US">Auditor Name</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditorFirmId" xlink:label="dei_AuditorFirmId" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AuditorFirmId" xlink:to="dei_AuditorFirmId_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AuditorFirmId_lbl" xml:lang="en-US">Auditor Firm ID</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditorLocation" xlink:label="dei_AuditorLocation" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AuditorLocation" xlink:to="dei_AuditorLocation_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AuditorLocation_lbl" xml:lang="en-US">Auditor Location</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="us-gaap_StatementOfFinancialPositionAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_StatementOfFinancialPositionAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementOfFinancialPositionAbstract_lbl" xml:lang="en-US">CONSOLIDATED BALANCE SHEETS</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementTable_lbl" xml:lang="en-US">Statement [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementLineItems_lbl" xml:lang="en-US">Statement [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StatementLineItems_lbl" xml:lang="en-US">Statement</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsAbstract" xlink:label="us-gaap_AssetsAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_AssetsAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsAbstract_lbl" xml:lang="en-US">Assets [Abstract]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AssetsAbstract_lbl" xml:lang="en-US">ASSETS</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="us-gaap_AssetsCurrentAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AssetsCurrentAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsCurrentAbstract_lbl" xml:lang="en-US">Assets, Current [Abstract]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AssetsCurrentAbstract_lbl" xml:lang="en-US">Current assets:</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl" xml:lang="en-US">Cash and Cash Equivalents, at Carrying Value, Total</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl" xml:lang="en-US">Cash and cash equivalents</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherShortTermInvestments" xlink:label="us-gaap_OtherShortTermInvestments" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherShortTermInvestments" xlink:to="us-gaap_OtherShortTermInvestments_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherShortTermInvestments_lbl" xml:lang="en-US">Other Short-Term Investments</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherShortTermInvestments_lbl" xml:lang="en-US">Short term investments - other</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_OtherShortTermInvestments_lbl" xml:lang="en-US">Total</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableNetCurrent" xlink:to="us-gaap_AccountsReceivableNetCurrent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsReceivableNetCurrent_lbl" xml:lang="en-US">Accounts Receivable, after Allowance for Credit Loss, Current</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_AccountsReceivableNetCurrent_lbl" xml:lang="en-US">Accounts receivable, net</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AccountsReceivableNetCurrent_lbl" xml:lang="en-US">Accounts receivable, net of allowance for doubtful accounts</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_lbl" xml:lang="en-US">Prepaid Expense and Other Assets Current</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_lbl" xml:lang="en-US">Prepaid expenses and other current assets</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_AssetsCurrent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsCurrent_lbl" xml:lang="en-US">Assets, Current, Total</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_AssetsCurrent_lbl" xml:lang="en-US">Total current assets</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentNet" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_lbl" xml:lang="en-US">Property, Plant and Equipment, Net, Total</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_lbl" xml:lang="en-US">Property and equipment, net</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseRightOfUseAsset" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_lbl" xml:lang="en-US">Operating Lease, Right-of-Use Asset</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_lbl" xml:lang="en-US">Right-of-use-asset, net</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAssetsNoncurrent" xlink:to="us-gaap_OtherAssetsNoncurrent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherAssetsNoncurrent_lbl" xml:lang="en-US">Other Assets Noncurrent</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OtherAssetsNoncurrent_lbl" xml:lang="en-US">Other assets</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxAssetsNet" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet_lbl" xml:lang="en-US">Deferred Income Tax Assets, Net</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet_lbl" xml:lang="en-US">Deferred income taxes, net</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill_lbl" xml:lang="en-US">Intangible Assets, Current</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill_lbl" xml:lang="en-US">Intangibles, net</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Goodwill" xlink:to="us-gaap_Goodwill_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Goodwill_lbl" xml:lang="en-US">Goodwill</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_Goodwill_lbl" xml:lang="en-US">Balance - December 31, 2023</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_Goodwill_lbl" xml:lang="en-US">Balance - January 1, 2023</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_Goodwill_lbl" xml:lang="en-US">Goodwill</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_Goodwill_lbl" xml:lang="en-US">Goodwill</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Assets" xlink:to="us-gaap_Assets_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Assets_lbl" xml:lang="en-US">Assets, Total</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_Assets_lbl" xml:lang="en-US">Total assets</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_Assets_lbl" xml:lang="en-US">Total assets</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_LiabilitiesAndStockholdersEquityAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract_lbl" xml:lang="en-US">Liabilities and Equity [Abstract]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract_lbl" xml:lang="en-US">LIABILITIES, NON-CONTROLLING INTERESTS AND STOCKHOLDERS' EQUITY</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="us-gaap_LiabilitiesCurrentAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LiabilitiesCurrentAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesCurrentAbstract_lbl" xml:lang="en-US">Liabilities, Current [Abstract]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LiabilitiesCurrentAbstract_lbl" xml:lang="en-US">Current liabilities:</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableCurrent" xlink:label="us-gaap_AccountsPayableCurrent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsPayableCurrent" xlink:to="us-gaap_AccountsPayableCurrent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsPayableCurrent_lbl" xml:lang="en-US">Accounts Payable Current</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AccountsPayableCurrent_lbl" xml:lang="en-US">Accounts payable</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="us-gaap_AccruedLiabilitiesCurrent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedLiabilitiesCurrent" xlink:to="us-gaap_AccruedLiabilitiesCurrent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccruedLiabilitiesCurrent_lbl" xml:lang="en-US">Accrued Liabilities Current</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AccruedLiabilitiesCurrent_lbl" xml:lang="en-US">Accrued expenses and other</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:label="us-gaap_EmployeeRelatedLiabilitiesCurrent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:to="us-gaap_EmployeeRelatedLiabilitiesCurrent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeRelatedLiabilitiesCurrent_lbl" xml:lang="en-US">Employee Related Liabilities Current</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EmployeeRelatedLiabilitiesCurrent_lbl" xml:lang="en-US">Accrued salaries, wages and related benefits</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxesPayableCurrent" xlink:label="us-gaap_TaxesPayableCurrent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TaxesPayableCurrent" xlink:to="us-gaap_TaxesPayableCurrent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TaxesPayableCurrent_lbl" xml:lang="en-US">Taxes Payable, Current, Total</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_TaxesPayableCurrent_lbl" xml:lang="en-US">Income and other taxes</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_CurrentPortionOfLongTermObligations" xlink:label="inod_CurrentPortionOfLongTermObligations" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_CurrentPortionOfLongTermObligations" xlink:to="inod_CurrentPortionOfLongTermObligations_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_CurrentPortionOfLongTermObligations_lbl" xml:lang="en-US">The current portion of long-term obligations of the entity.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_CurrentPortionOfLongTermObligations_lbl" xml:lang="en-US">Current Portion Of Long-Term Obligations</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_CurrentPortionOfLongTermObligations_lbl" xml:lang="en-US">Less: Current portion of long-term obligations</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="inod_CurrentPortionOfLongTermObligations_lbl" xml:lang="en-US">Long-term obligations - current portion</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityCurrent" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_lbl" xml:lang="en-US">Operating Lease, Liability, Current</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_lbl" xml:lang="en-US">Operating lease liability - current portion</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_lbl" xml:lang="en-US">Current portion</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_LiabilitiesCurrent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesCurrent_lbl" xml:lang="en-US">Liabilities, Current, Total</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_LiabilitiesCurrent_lbl" xml:lang="en-US">Total current liabilities</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:to="us-gaap_DeferredIncomeTaxLiabilitiesNet_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet_lbl" xml:lang="en-US">Deferred Income Tax Liabilities, Net</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet_lbl" xml:lang="en-US">Deferred income taxes, net</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_NoncurrentPortionOfLongTermObligations" xlink:label="inod_NoncurrentPortionOfLongTermObligations" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_NoncurrentPortionOfLongTermObligations" xlink:to="inod_NoncurrentPortionOfLongTermObligations_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_NoncurrentPortionOfLongTermObligations_lbl" xml:lang="en-US">The non-current portion of long-term obligations of the entity.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_NoncurrentPortionOfLongTermObligations_lbl" xml:lang="en-US">Noncurrent Portion Of Long-Term Obligations</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_NoncurrentPortionOfLongTermObligations_lbl" xml:lang="en-US">Long-term obligations, net of current portion</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="inod_NoncurrentPortionOfLongTermObligations_lbl" xml:lang="en-US">Totals</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl" xml:lang="en-US">Operating Lease, Liability, Noncurrent</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl" xml:lang="en-US">Operating lease liability, net of current portion</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl" xml:lang="en-US">Long-term portion</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_Liabilities_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Liabilities_lbl" xml:lang="en-US">Liabilities</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_Liabilities_lbl" xml:lang="en-US">Total liabilities</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="us-gaap_CommitmentsAndContingencies" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingencies" xlink:to="us-gaap_CommitmentsAndContingencies_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommitmentsAndContingencies_lbl" xml:lang="en-US">Commitments and Contingencies.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_CommitmentsAndContingencies_lbl" xml:lang="en-US">Commitments and contingencies</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RedeemableNoncontrollingInterestEquityCarryingAmount" xlink:label="us-gaap_RedeemableNoncontrollingInterestEquityCarryingAmount" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RedeemableNoncontrollingInterestEquityCarryingAmount" xlink:to="us-gaap_RedeemableNoncontrollingInterestEquityCarryingAmount_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RedeemableNoncontrollingInterestEquityCarryingAmount_lbl" xml:lang="en-US">Redeemable Noncontrolling Interest, Equity, Carrying Amount, Total</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RedeemableNoncontrollingInterestEquityCarryingAmount_lbl" xml:lang="en-US">Non-controlling interests</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="us-gaap_StockholdersEquityAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_StockholdersEquityAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquityAbstract_lbl" xml:lang="en-US">Stockholders Equity [Abstract]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockholdersEquityAbstract_lbl" xml:lang="en-US">STOCKHOLDERS' EQUITY:</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockValue" xlink:label="us-gaap_PreferredStockValue" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockValue" xlink:to="us-gaap_PreferredStockValue_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PreferredStockValue_lbl" xml:lang="en-US">Preferred Stock Value</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_PreferredStockValue_lbl" xml:lang="en-US">Serial preferred stock; 4,998,000 shares authorized, none outstanding</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockValue" xlink:to="us-gaap_CommonStockValue_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockValue_lbl" xml:lang="en-US">Common Stock Value</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommonStockValue_lbl" xml:lang="en-US">Common stock, $.01 par value; 75,000,000 shares authorized; 31,937,000 shares issued and 28,753,000 outstanding at December 31, 2023 and 30,589,000 shares issued and 27,405,000 outstanding at December 31, 2022</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapital" xlink:label="us-gaap_AdditionalPaidInCapital" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdditionalPaidInCapital" xlink:to="us-gaap_AdditionalPaidInCapital_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdditionalPaidInCapital_lbl" xml:lang="en-US">Additional Paid In Capital</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AdditionalPaidInCapital_lbl" xml:lang="en-US">Additional paid-in capital</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_lbl" xml:lang="en-US">Retained Earnings Accumulated Deficit</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_lbl" xml:lang="en-US">Deficit</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_lbl" xml:lang="en-US">Accumulated Other Comprehensive Income (Loss), Net Of Tax</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_lbl" xml:lang="en-US">Accumulated other comprehensive loss</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityBeforeTreasuryStock" xlink:label="us-gaap_StockholdersEquityBeforeTreasuryStock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityBeforeTreasuryStock" xlink:to="us-gaap_StockholdersEquityBeforeTreasuryStock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquityBeforeTreasuryStock_lbl" xml:lang="en-US">Stockholders Equity Before Treasury Stock</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_StockholdersEquityBeforeTreasuryStock_lbl" xml:lang="en-US">Stockholders' Equity before Treasury Stock, Total</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockValue" xlink:label="us-gaap_TreasuryStockValue" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockValue" xlink:to="us-gaap_TreasuryStockValue_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TreasuryStockValue_lbl" xml:lang="en-US">Treasury Stock Value</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_TreasuryStockValue_lbl" xml:lang="en-US">Less: treasury stock, 3,184,000 shares at December 31, 2023 and 2022, at cost</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_StockholdersEquity_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquity_lbl" xml:lang="en-US">Stockholders Equity</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_StockholdersEquity_lbl" xml:lang="en-US">Balance at the end</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_StockholdersEquity_lbl" xml:lang="en-US">Balance at the beginning</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_StockholdersEquity_lbl" xml:lang="en-US">Total stockholders' equity</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity_lbl" xml:lang="en-US">Liabilities and Stockholders Equity</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity_lbl" xml:lang="en-US">Total liabilities, non-controlling interests and stockholders' equity</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesAuthorized" xlink:label="us-gaap_PreferredStockSharesAuthorized" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockSharesAuthorized" xlink:to="us-gaap_PreferredStockSharesAuthorized_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PreferredStockSharesAuthorized_lbl" xml:lang="en-US">Preferred Stock, Shares Authorized</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PreferredStockSharesAuthorized_lbl" xml:lang="en-US">Serial preferred stock, shares authorized</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesOutstanding" xlink:label="us-gaap_PreferredStockSharesOutstanding" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockSharesOutstanding" xlink:to="us-gaap_PreferredStockSharesOutstanding_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PreferredStockSharesOutstanding_lbl" xml:lang="en-US">Preferred Stock Shares Outstanding</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PreferredStockSharesOutstanding_lbl" xml:lang="en-US">Serial preferred stock, outstanding</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockParOrStatedValuePerShare" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare_lbl" xml:lang="en-US">Common Stock Par Or Stated Value Per Share</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare_lbl" xml:lang="en-US">Common stock, par value (in dollars per share)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="us-gaap_CommonStockSharesAuthorized" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesAuthorized" xlink:to="us-gaap_CommonStockSharesAuthorized_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockSharesAuthorized_lbl" xml:lang="en-US">Common Stock, Shares Authorized</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommonStockSharesAuthorized_lbl" xml:lang="en-US">Common stock, shares authorized</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesIssued" xlink:to="us-gaap_CommonStockSharesIssued_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockSharesIssued_lbl" xml:lang="en-US">Common Stock Shares Issued</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommonStockSharesIssued_lbl" xml:lang="en-US">Common stock, shares issued</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="us-gaap_CommonStockSharesOutstanding" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesOutstanding" xlink:to="us-gaap_CommonStockSharesOutstanding_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockSharesOutstanding_lbl" xml:lang="en-US">Common Stock, Shares, Outstanding</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_CommonStockSharesOutstanding_lbl" xml:lang="en-US">Common stock, shares outstanding</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonShares" xlink:label="us-gaap_TreasuryStockCommonShares" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockCommonShares" xlink:to="us-gaap_TreasuryStockCommonShares_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TreasuryStockCommonShares_lbl" xml:lang="en-US">Treasury Stock, Shares</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_TreasuryStockCommonShares_lbl" xml:lang="en-US">Balance at the end (in shares)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_TreasuryStockCommonShares_lbl" xml:lang="en-US">Balance at the beginning (in shares)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_TreasuryStockCommonShares_lbl" xml:lang="en-US">Treasury stock, shares</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementAbstract" xlink:label="us-gaap_IncomeStatementAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_IncomeStatementAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeStatementAbstract_lbl" xml:lang="en-US">CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE LOSS</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Revenues" xlink:label="us-gaap_Revenues" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Revenues" xlink:to="us-gaap_Revenues_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Revenues_lbl" xml:lang="en-US">Revenues</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_Revenues_lbl" xml:lang="en-US">Revenues</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostsAndExpensesAbstract" xlink:label="us-gaap_CostsAndExpensesAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostsAndExpensesAbstract" xlink:to="us-gaap_CostsAndExpensesAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CostsAndExpensesAbstract_lbl" xml:lang="en-US">Costs and Expenses [Abstract]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_CostsAndExpensesAbstract_lbl" xml:lang="en-US">Operating costs and expenses:</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DirectOperatingCosts" xlink:label="us-gaap_DirectOperatingCosts" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DirectOperatingCosts" xlink:to="us-gaap_DirectOperatingCosts_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DirectOperatingCosts_lbl" xml:lang="en-US">Direct Operating Costs</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DirectOperatingCosts_lbl" xml:lang="en-US">Direct operating costs</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SellingGeneralAndAdministrativeExpense" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpense_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense_lbl" xml:lang="en-US">Selling General and Administrative Expense</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense_lbl" xml:lang="en-US">Selling and administrative expenses</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestIncomeExpenseNonoperatingNet" xlink:label="us-gaap_InterestIncomeExpenseNonoperatingNet" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestIncomeExpenseNonoperatingNet" xlink:to="us-gaap_InterestIncomeExpenseNonoperatingNet_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InterestIncomeExpenseNonoperatingNet_lbl" xml:lang="en-US">Interest Income (Expense), Nonoperating, Net</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_InterestIncomeExpenseNonoperatingNet_lbl" xml:lang="en-US">Interest expense, net</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostsAndExpenses" xlink:label="us-gaap_CostsAndExpenses" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostsAndExpenses" xlink:to="us-gaap_CostsAndExpenses_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CostsAndExpenses_lbl" xml:lang="en-US">Costs and Expenses</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_CostsAndExpenses_lbl" xml:lang="en-US">Total</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl" xml:lang="en-US">Income (Loss) From Continuing Operations Before Income Taxes, Extraordinary Items, Noncontrolling Interest</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl" xml:lang="en-US">Income (loss) before provision for income taxes</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl" xml:lang="en-US">Income (loss) before provision for income taxes</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxExpenseBenefit_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Income Tax Expense (Benefit)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_IncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Provision for income taxes</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Provision for income taxes</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProfitLoss" xlink:to="us-gaap_ProfitLoss_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProfitLoss_lbl" xml:lang="en-US">Net Income (Loss), Including Portion Attributable to Noncontrolling Interest, Total</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProfitLoss_lbl" xml:lang="en-US">Consolidated net loss</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_ProfitLoss_lbl" xml:lang="en-US">Consolidated net loss</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ProfitLoss_lbl" xml:lang="en-US">Consolidated net loss</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:label="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:to="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_lbl" xml:lang="en-US">Net Income Loss Attributable To Noncontrolling Interest</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_lbl" xml:lang="en-US">Income (loss) attributable to non-controlling interests</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_NetIncomeLossAttributableToParent1" xlink:label="inod_NetIncomeLossAttributableToParent1" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_NetIncomeLossAttributableToParent1" xlink:to="inod_NetIncomeLossAttributableToParent1_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_NetIncomeLossAttributableToParent1_lbl" xml:lang="en-US">The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_NetIncomeLossAttributableToParent1_lbl" xml:lang="en-US">Net Income (Loss) Attributable to Parent 1</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_NetIncomeLossAttributableToParent1_lbl" xml:lang="en-US">Net loss attributable to Innodata Inc. and Subsidiaries</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="inod_NetIncomeLossAttributableToParent1_lbl" xml:lang="en-US">Net Loss attributable to Innodata Inc. and Subsidiaries</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="us-gaap_EarningsPerShareAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareAbstract_lbl" xml:lang="en-US">Loss per Share</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EarningsPerShareAbstract_lbl" xml:lang="en-US">Loss per share attributable to Innodata Inc. and Subsidiaries:</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareBasic" xlink:to="us-gaap_EarningsPerShareBasic_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareBasic_lbl" xml:lang="en-US">Earnings Per Share, Basic</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EarningsPerShareBasic_lbl" xml:lang="en-US">Basic (in dollars per share)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareDiluted" xlink:to="us-gaap_EarningsPerShareDiluted_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareDiluted_lbl" xml:lang="en-US">Earnings Per Share, Diluted</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EarningsPerShareDiluted_lbl" xml:lang="en-US">Diluted (in dollars per share)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_lbl" xml:lang="en-US">Weighted Average Number Of Shares Outstanding [Abstract]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_lbl" xml:lang="en-US">Weighted average shares outstanding:</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" xml:lang="en-US">Weighted Average Number of Shares Outstanding, Basic</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" xml:lang="en-US">Basic (in shares)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" xml:lang="en-US">Weighted average common shares outstanding</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" xml:lang="en-US">Weighted Average Number of Shares Outstanding, Diluted</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" xml:lang="en-US">Adjusted for dilutive computation</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" xml:lang="en-US">Diluted (in shares)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAbstract" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxAbstract" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAbstract_lbl" xml:lang="en-US">Comprehensive loss</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAbstract_lbl" xml:lang="en-US">Comprehensive Loss:</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax_lbl" xml:lang="en-US">Other Comprehensive Income (Loss), Pension and Other Postretirement Benefit Plans, Adjustment, Net Of Tax</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax_lbl" xml:lang="en-US">Pension liability adjustment, net of taxes</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_lbl" xml:lang="en-US">Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_lbl" xml:lang="en-US">Foreign currency translation adjustment</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_lbl" xml:lang="en-US">Foreign currency translation adjustment</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax_lbl" xml:lang="en-US">Other Comprehensive Income (Loss), Derivatives Qualifying As Hedges, Net Of Tax</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax_lbl" xml:lang="en-US">Change in fair value of derivatives, net of taxes</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax_lbl" xml:lang="en-US">Change in fair value of derivatives, net of taxes</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTax" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTax_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTax_lbl" xml:lang="en-US">Other Comprehensive Income (Loss), Net of Tax, Total</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTax_lbl" xml:lang="en-US">Other comprehensive income</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_lbl" xml:lang="en-US">Comprehensive Income (Loss), Net of Tax, Including Portion Attributable to Noncontrolling Interest, Total</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_lbl" xml:lang="en-US">Total comprehensive loss</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_lbl" xml:lang="en-US">Comprehensive (Income) Loss, Net of Tax, Attributable to Noncontrolling Interest, Total</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_lbl" xml:lang="en-US">Comprehensive income (loss) attributed to non-controlling interest</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_ComprehensiveIncomeNetOfTax_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax_lbl" xml:lang="en-US">Comprehensive Income (Loss), Net Of Tax, Attributable To Parent</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax_lbl" xml:lang="en-US">Comprehensive loss attributable to Innodata Inc. and Subsidiaries</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfStockholdersEquityAbstract" xlink:to="us-gaap_StatementOfStockholdersEquityAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract_lbl" xml:lang="en-US">CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_StatementEquityComponentsAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementEquityComponentsAxis_lbl" xml:lang="en-US">Statement Equity Components [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_EquityComponentDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityComponentDomain_lbl" xml:lang="en-US">Equity Component [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockMember" xlink:to="us-gaap_CommonStockMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockMember_lbl" xml:lang="en-US">Common Stock [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommonStockMember_lbl" xml:lang="en-US">Common Stock</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="us-gaap_AdditionalPaidInCapitalMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdditionalPaidInCapitalMember" xlink:to="us-gaap_AdditionalPaidInCapitalMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdditionalPaidInCapitalMember_lbl" xml:lang="en-US">Additional Paid-in Capital [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AdditionalPaidInCapitalMember_lbl" xml:lang="en-US">Additional Paid-in Capital</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetainedEarningsMember" xlink:to="us-gaap_RetainedEarningsMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RetainedEarningsMember_lbl" xml:lang="en-US">Retained Earnings</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RetainedEarningsMember_lbl" xml:lang="en-US">Retained Earnings</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl" xml:lang="en-US">Accumulated Other Comprehensive Loss [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl" xml:lang="en-US">Accumulated Other Comprehensive Loss</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonMember" xlink:label="us-gaap_TreasuryStockCommonMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockCommonMember" xlink:to="us-gaap_TreasuryStockCommonMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TreasuryStockCommonMember_lbl" xml:lang="en-US">Treasury Stock [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_TreasuryStockCommonMember_lbl" xml:lang="en-US">Treasury Stock</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesOutstanding" xlink:label="us-gaap_SharesOutstanding" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharesOutstanding" xlink:to="us-gaap_SharesOutstanding_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharesOutstanding_lbl" xml:lang="en-US">Shares, Outstanding</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_SharesOutstanding_lbl" xml:lang="en-US">Balance at the end (in shares)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_SharesOutstanding_lbl" xml:lang="en-US">Balance at the beginning (in shares)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl" xml:lang="en-US">Adjustments to Additional Paid in Capital, Share-based Compensation, Requisite Service Period Recognition</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl" xml:lang="en-US">Stock-based compensation</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:to="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_lbl" xml:lang="en-US">Exercise of stock options</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_lbl" xml:lang="en-US">Stock option exercises</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl" xml:lang="en-US">Stock option exercises (in shares)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl" xml:lang="en-US">Number of Options, Exercised (in shares)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl" xml:lang="en-US">Stock option exercises (in shares)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:to="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_lbl" xml:lang="en-US">Share-based Payment Arrangement, Shares Withheld for Tax Withholding Obligation</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_lbl" xml:lang="en-US">Shares withheld for exercise net settlement (in shares)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockValueSharesIssuedNetOfTaxWithholdings" xlink:label="us-gaap_RestrictedStockValueSharesIssuedNetOfTaxWithholdings" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestrictedStockValueSharesIssuedNetOfTaxWithholdings" xlink:to="us-gaap_RestrictedStockValueSharesIssuedNetOfTaxWithholdings_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RestrictedStockValueSharesIssuedNetOfTaxWithholdings_lbl" xml:lang="en-US">Restricted Stock, Value, Shares Issued Net of Tax Withholdings</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RestrictedStockValueSharesIssuedNetOfTaxWithholdings_lbl" xml:lang="en-US">Shares withheld for taxes on restricted shares vesting</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockSharesIssuedNetOfSharesForTaxWithholdings" xlink:label="us-gaap_RestrictedStockSharesIssuedNetOfSharesForTaxWithholdings" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestrictedStockSharesIssuedNetOfSharesForTaxWithholdings" xlink:to="us-gaap_RestrictedStockSharesIssuedNetOfSharesForTaxWithholdings_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RestrictedStockSharesIssuedNetOfSharesForTaxWithholdings_lbl" xml:lang="en-US">Restricted Stock, Shares Issued Net of Shares for Tax Withholdings</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RestrictedStockSharesIssuedNetOfSharesForTaxWithholdings_lbl" xml:lang="en-US">Shares withheld for taxes on restricted shares vesting (in shares)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalOther" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalOther" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsToAdditionalPaidInCapitalOther" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalOther_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalOther_lbl" xml:lang="en-US">Adjustments to Additional Paid in Capital, Other</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalOther_lbl" xml:lang="en-US">Redemption of non-controlling interest</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="us-gaap_StatementOfCashFlowsAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_StatementOfCashFlowsAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementOfCashFlowsAbstract_lbl" xml:lang="en-US">CONSOLIDATED STATEMENTS OF CASH FLOWS</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xml:lang="en-US">Net Cash Provided by (Used in) Operating Activities [Abstract]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xml:lang="en-US">Cash flows from operating activities:</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xml:lang="en-US">Adjustments To Reconcile Net Income Loss To Cash Provided By Used In Operating Activities [Abstract]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xml:lang="en-US">Adjustments to reconcile consolidated net loss to net cash provided by operating activities:</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="us-gaap_DepreciationDepletionAndAmortization" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DepreciationDepletionAndAmortization" xlink:to="us-gaap_DepreciationDepletionAndAmortization_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DepreciationDepletionAndAmortization_lbl" xml:lang="en-US">Depreciation, Depletion and Amortization</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DepreciationDepletionAndAmortization_lbl" xml:lang="en-US">Depreciation and amortization</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DepreciationDepletionAndAmortization_lbl" xml:lang="en-US">Depreciation expense</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensation" xlink:to="us-gaap_ShareBasedCompensation_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensation_lbl" xml:lang="en-US">Share-based Compensation, Total</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensation_lbl" xml:lang="en-US">Stock-based compensation</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_ShareBasedCompensation_lbl" xml:lang="en-US">Total stock-based compensation</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxesAndTaxCredits" xlink:label="us-gaap_DeferredIncomeTaxesAndTaxCredits" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxesAndTaxCredits" xlink:to="us-gaap_DeferredIncomeTaxesAndTaxCredits_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxesAndTaxCredits_lbl" xml:lang="en-US">Deferred Income Taxes and Tax Credits</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredIncomeTaxesAndTaxCredits_lbl" xml:lang="en-US">Deferred income taxes</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProvisionForLoanLossesExpensed" xlink:label="us-gaap_ProvisionForLoanLossesExpensed" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProvisionForLoanLossesExpensed" xlink:to="us-gaap_ProvisionForLoanLossesExpensed_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProvisionForLoanLossesExpensed_lbl" xml:lang="en-US">Financing Receivable, Credit Loss, Expense (Reversal)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProvisionForLoanLossesExpensed_lbl" xml:lang="en-US">Provision for doubtful accounts</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedContributionPlanIncreaseDecreaseCost" xlink:label="us-gaap_DefinedContributionPlanIncreaseDecreaseCost" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedContributionPlanIncreaseDecreaseCost" xlink:to="us-gaap_DefinedContributionPlanIncreaseDecreaseCost_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DefinedContributionPlanIncreaseDecreaseCost_lbl" xml:lang="en-US">Defined Contribution Plan, Increase (Decrease), Cost</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DefinedContributionPlanIncreaseDecreaseCost_lbl" xml:lang="en-US">Pension cost</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnTerminationOfLease" xlink:label="us-gaap_GainLossOnTerminationOfLease" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainLossOnTerminationOfLease" xlink:to="us-gaap_GainLossOnTerminationOfLease_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GainLossOnTerminationOfLease_lbl" xml:lang="en-US">Gain (Loss) on Termination of Lease</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_GainLossOnTerminationOfLease_lbl" xml:lang="en-US">Loss on lease termination</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl" xml:lang="en-US">Increase Decrease In Operating Capital [Abstract]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl" xml:lang="en-US">Changes in operating assets and liabilities:</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl" xml:lang="en-US">Increase Decrease In Accounts Receivable</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl" xml:lang="en-US">Accounts receivable</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_lbl" xml:lang="en-US">Increase Decrease In Prepaid Deferred Expense and Other Assets</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_lbl" xml:lang="en-US">Prepaid expenses and other current assets</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssets" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingAssets_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssets_lbl" xml:lang="en-US">Increase Decrease In Other Operating Assets</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssets_lbl" xml:lang="en-US">Other assets</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities_lbl" xml:lang="en-US">Increase (Decrease) In Accounts Payable and Accrued Liabilities</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities_lbl" xml:lang="en-US">Accounts payable, accrued expenses and other</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" xlink:to="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities_lbl" xml:lang="en-US">Increase Decrease In Employee Related Liabilities</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities_lbl" xml:lang="en-US">Accrued salaries, wages and related benefits</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccruedTaxesPayable" xlink:label="us-gaap_IncreaseDecreaseInAccruedTaxesPayable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccruedTaxesPayable" xlink:to="us-gaap_IncreaseDecreaseInAccruedTaxesPayable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInAccruedTaxesPayable_lbl" xml:lang="en-US">Increase Decrease In Accrued Taxes Payable</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncreaseDecreaseInAccruedTaxesPayable_lbl" xml:lang="en-US">Income and other taxes</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl" xml:lang="en-US">Net cash provided by (used in) operating activities</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl" xml:lang="en-US">Net cash provided by (used in) operating activities</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_lbl" xml:lang="en-US">Net Cash Provided by (Used in) Investing Activities [Abstract]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_lbl" xml:lang="en-US">Cash flows from investing activities:</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl" xml:lang="en-US">Payments To Acquire Property Plant and Equipment</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl" xml:lang="en-US">Capital expenditures</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsForProceedsFromShortTermInvestments" xlink:label="us-gaap_PaymentsForProceedsFromShortTermInvestments" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsForProceedsFromShortTermInvestments" xlink:to="us-gaap_PaymentsForProceedsFromShortTermInvestments_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsForProceedsFromShortTermInvestments_lbl" xml:lang="en-US">Payments for (Proceeds from) Short-Term Investments</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsForProceedsFromShortTermInvestments_lbl" xml:lang="en-US">Proceeds from (purchase of) short term investments - others</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl" xml:lang="en-US">Net Cash Provided by (Used in) Investing Activities</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl" xml:lang="en-US">Net cash used in investing activities</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_lbl" xml:lang="en-US">Net Cash Provided by (Used in) Financing Activities [Abstract]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_lbl" xml:lang="en-US">Cash flows from financing activities:</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromStockOptionsExercised" xlink:label="us-gaap_ProceedsFromStockOptionsExercised" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromStockOptionsExercised" xlink:to="us-gaap_ProceedsFromStockOptionsExercised_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromStockOptionsExercised_lbl" xml:lang="en-US">Proceeds from Stock Options Exercised</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProceedsFromStockOptionsExercised_lbl" xml:lang="en-US">Proceeds from exercise of stock options</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RepaymentsOfLongTermDebt" xlink:label="us-gaap_RepaymentsOfLongTermDebt" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RepaymentsOfLongTermDebt" xlink:to="us-gaap_RepaymentsOfLongTermDebt_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RepaymentsOfLongTermDebt_lbl" xml:lang="en-US">Repayments Of Long Term Debt</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_RepaymentsOfLongTermDebt_lbl" xml:lang="en-US">Payment of long-term obligations</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl" xml:lang="en-US">Net Cash Provided by (Used in) Financing Activities</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl" xml:lang="en-US">Net cash provided by (used in) financing activities</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xml:lang="en-US">Effect of Exchange Rate on Cash and Cash Equivalents, Continuing Operations</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xml:lang="en-US">Effect of exchange rate changes on cash and cash equivalents</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl" xml:lang="en-US">Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl" xml:lang="en-US">Net increase (decrease) in cash and cash equivalents</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xml:lang="en-US">Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xml:lang="en-US">Cash and cash equivalents, end of year</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xml:lang="en-US">Cash and cash equivalents, beginning of year</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SupplementalCashFlowInformationAbstract" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract" xlink:to="us-gaap_SupplementalCashFlowInformationAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract_lbl" xml:lang="en-US">Supplemental Cash Flow Information [Abstract]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract_lbl" xml:lang="en-US">Supplemental disclosures of cash flow information:</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_VendorFinancedSoftwareLicensesAcquired" xlink:label="inod_VendorFinancedSoftwareLicensesAcquired" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_VendorFinancedSoftwareLicensesAcquired" xlink:to="inod_VendorFinancedSoftwareLicensesAcquired_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_VendorFinancedSoftwareLicensesAcquired_lbl" xml:lang="en-US">The amount of non cash vendor financed software licenses acquired.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_VendorFinancedSoftwareLicensesAcquired_lbl" xml:lang="en-US">Vendor Financed Software Licenses Acquired</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_VendorFinancedSoftwareLicensesAcquired_lbl" xml:lang="en-US">Vendor financed software licenses acquired</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxesPaid" xlink:label="us-gaap_IncomeTaxesPaid" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxesPaid" xlink:to="us-gaap_IncomeTaxesPaid_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxesPaid_lbl" xml:lang="en-US">Income Taxes Paid</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncomeTaxesPaid_lbl" xml:lang="en-US">Cash paid for income taxes</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeasePayments" xlink:label="us-gaap_OperatingLeasePayments" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeasePayments" xlink:to="us-gaap_OperatingLeasePayments_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeasePayments_lbl" xml:lang="en-US">Operating Lease, Payments</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeasePayments_lbl" xml:lang="en-US">Cash paid for operating leases</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestPaidNet" xlink:label="us-gaap_InterestPaidNet" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestPaidNet" xlink:to="us-gaap_InterestPaidNet_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InterestPaidNet_lbl" xml:lang="en-US">Interest Paid, Excluding Capitalized Interest, Operating Activities</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InterestPaidNet_lbl" xml:lang="en-US">Cash paid for interest</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_AccountingPoliciesAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountingPoliciesAbstract_lbl" xml:lang="en-US">Description of Business and Summary of Significant Accounting Estimates and Policies</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock" xlink:label="us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock" xlink:to="us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock_lbl" xml:lang="en-US">Organization, Consolidation, Basis of Presentation, Business Description and Accounting Policies [Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock_lbl" xml:lang="en-US">Description of Business and Summary of Significant Accounting Estimates and Policies</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermInvestmentsAbstract" xlink:label="us-gaap_ShortTermInvestmentsAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShortTermInvestmentsAbstract" xlink:to="us-gaap_ShortTermInvestmentsAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShortTermInvestmentsAbstract_lbl" xml:lang="en-US">Short Term Investments - other</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_ShortTermInvestmentsOthersTextBlock" xlink:label="inod_ShortTermInvestmentsOthersTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_ShortTermInvestmentsOthersTextBlock" xlink:to="inod_ShortTermInvestmentsOthersTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_ShortTermInvestmentsOthersTextBlock_lbl" xml:lang="en-US">The entire disclosure of the components other short-term investments. Short-term investments may include current marketable securities.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_ShortTermInvestmentsOthersTextBlock_lbl" xml:lang="en-US">Short-Term Investments, Others [Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_ShortTermInvestmentsOthersTextBlock_lbl" xml:lang="en-US">Short Term Investments - other</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReceivablesAbstract" xlink:label="us-gaap_ReceivablesAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ReceivablesAbstract" xlink:to="us-gaap_ReceivablesAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ReceivablesAbstract_lbl" xml:lang="en-US">Accounts Receivable</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsAndNontradeReceivableTextBlock" xlink:label="us-gaap_AccountsAndNontradeReceivableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsAndNontradeReceivableTextBlock" xlink:to="us-gaap_AccountsAndNontradeReceivableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsAndNontradeReceivableTextBlock_lbl" xml:lang="en-US">Accounts and Nontrade Receivable [Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccountsAndNontradeReceivableTextBlock_lbl" xml:lang="en-US">Accounts Receivable</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="us-gaap_PropertyPlantAndEquipmentAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentAbstract_lbl" xml:lang="en-US">Property and equipment</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_lbl" xml:lang="en-US">Property, Plant and Equipment Disclosure [Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_lbl" xml:lang="en-US">Property and equipment</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_lbl" xml:lang="en-US">Goodwill and Intangible Assets</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:to="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock_lbl" xml:lang="en-US">Goodwill and Intangible Assets Disclosure [Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock_lbl" xml:lang="en-US">Goodwill and Intangible Assets</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="us-gaap_IncomeTaxDisclosureAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_IncomeTaxDisclosureAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxDisclosureAbstract_lbl" xml:lang="en-US">Income Taxes</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxDisclosureTextBlock" xlink:to="us-gaap_IncomeTaxDisclosureTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock_lbl" xml:lang="en-US">Income Tax Disclosure [Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock_lbl" xml:lang="en-US">Income Taxes</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_LongTermObligationsAbstract" xlink:label="inod_LongTermObligationsAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_LongTermObligationsAbstract" xlink:to="inod_LongTermObligationsAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_LongTermObligationsAbstract_lbl" xml:lang="en-US">Long-term obligations</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_LongTermObligationsDisclosureTextBlock" xlink:label="inod_LongTermObligationsDisclosureTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_LongTermObligationsDisclosureTextBlock" xlink:to="inod_LongTermObligationsDisclosureTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_LongTermObligationsDisclosureTextBlock_lbl" xml:lang="en-US">The entire disclosure for long-term obligations.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_LongTermObligationsDisclosureTextBlock_lbl" xml:lang="en-US">Long-Term Obligations, Disclosure [Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_LongTermObligationsDisclosureTextBlock_lbl" xml:lang="en-US">Long-term obligations</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureAbstract_lbl" xml:lang="en-US">Commitments and contingencies</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_lbl" xml:lang="en-US">Commitments and Contingencies Disclosure [Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_lbl" xml:lang="en-US">Commitments and Contingencies</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeDisclosureAbstract" xlink:label="us-gaap_LesseeDisclosureAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeDisclosureAbstract" xlink:to="us-gaap_LesseeDisclosureAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeDisclosureAbstract_lbl" xml:lang="en-US">Operating Leases</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeasesTextBlock" xlink:label="us-gaap_LesseeOperatingLeasesTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeasesTextBlock" xlink:to="us-gaap_LesseeOperatingLeasesTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeasesTextBlock_lbl" xml:lang="en-US">Lessee, Operating Leases [Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeasesTextBlock_lbl" xml:lang="en-US">Operating Leases</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:label="us-gaap_CompensationAndRetirementDisclosureAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:to="us-gaap_CompensationAndRetirementDisclosureAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CompensationAndRetirementDisclosureAbstract_lbl" xml:lang="en-US">Pension Benefits</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" xlink:label="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" xlink:to="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock_lbl" xml:lang="en-US">Pension and Other Postretirement Benefits Disclosure [Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock_lbl" xml:lang="en-US">Pension Benefits</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityNoteAbstract" xlink:label="us-gaap_StockholdersEquityNoteAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityNoteAbstract" xlink:to="us-gaap_StockholdersEquityNoteAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquityNoteAbstract_lbl" xml:lang="en-US">Capital Stock</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:label="us-gaap_StockholdersEquityNoteDisclosureTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:to="us-gaap_StockholdersEquityNoteDisclosureTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquityNoteDisclosureTextBlock_lbl" xml:lang="en-US">Stockholders' Equity Note Disclosure [Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockholdersEquityNoteDisclosureTextBlock_lbl" xml:lang="en-US">Capital Stock</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_lbl" xml:lang="en-US">Stock Options</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_lbl" xml:lang="en-US">Disclosure Of Compensation Related Costs, Share-Based Payments [Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_lbl" xml:lang="en-US">Stock Options</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNoteTextBlock" xlink:label="us-gaap_ComprehensiveIncomeNoteTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNoteTextBlock" xlink:to="us-gaap_ComprehensiveIncomeNoteTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ComprehensiveIncomeNoteTextBlock_lbl" xml:lang="en-US">Comprehensive Income (Loss) Note [Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ComprehensiveIncomeNoteTextBlock_lbl" xml:lang="en-US">Comprehensive loss</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingAbstract" xlink:label="us-gaap_SegmentReportingAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentReportingAbstract" xlink:to="us-gaap_SegmentReportingAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SegmentReportingAbstract_lbl" xml:lang="en-US">Segment reporting and concentrations</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingDisclosureTextBlock" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentReportingDisclosureTextBlock" xlink:to="us-gaap_SegmentReportingDisclosureTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock_lbl" xml:lang="en-US">Segment Reporting Disclosure [Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock_lbl" xml:lang="en-US">Segment reporting and concentrations</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareTextBlock" xlink:label="us-gaap_EarningsPerShareTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareTextBlock" xlink:to="us-gaap_EarningsPerShareTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareTextBlock_lbl" xml:lang="en-US">Earnings Per Share [Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EarningsPerShareTextBlock_lbl" xml:lang="en-US">Loss per Share</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:label="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:to="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_lbl" xml:lang="en-US">Derivatives</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock" xlink:label="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock" xlink:to="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock_lbl" xml:lang="en-US">Derivative Instruments and Hedging Activities Disclosure [Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock_lbl" xml:lang="en-US">Derivatives</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityAbstract" xlink:label="us-gaap_LineOfCreditFacilityAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityAbstract" xlink:to="us-gaap_LineOfCreditFacilityAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityAbstract_lbl" xml:lang="en-US">Line of Credit</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureTextBlock" xlink:label="us-gaap_DebtDisclosureTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtDisclosureTextBlock" xlink:to="us-gaap_DebtDisclosureTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtDisclosureTextBlock_lbl" xml:lang="en-US">Debt Disclosure [Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DebtDisclosureTextBlock_lbl" xml:lang="en-US">Line of Credit</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventsAbstract" xlink:label="us-gaap_SubsequentEventsAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventsAbstract" xlink:to="us-gaap_SubsequentEventsAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventsAbstract_lbl" xml:lang="en-US">Subsequent Event</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventsTextBlock" xlink:label="us-gaap_SubsequentEventsTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventsTextBlock" xlink:to="us-gaap_SubsequentEventsTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventsTextBlock_lbl" xml:lang="en-US">Subsequent Events [Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SubsequentEventsTextBlock_lbl" xml:lang="en-US">Subsequent Event</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationsPolicy" xlink:label="us-gaap_BusinessCombinationsPolicy" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationsPolicy" xlink:to="us-gaap_BusinessCombinationsPolicy_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationsPolicy_lbl" xml:lang="en-US">Business Combinations Policy [Policy Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_BusinessCombinationsPolicy_lbl" xml:lang="en-US">Description of Business</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConsolidationPolicyTextBlock" xlink:label="us-gaap_ConsolidationPolicyTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConsolidationPolicyTextBlock" xlink:to="us-gaap_ConsolidationPolicyTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConsolidationPolicyTextBlock_lbl" xml:lang="en-US">Consolidation, Policy [Policy Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ConsolidationPolicyTextBlock_lbl" xml:lang="en-US">Principles of Consolidation</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UseOfEstimates" xlink:label="us-gaap_UseOfEstimates" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UseOfEstimates" xlink:to="us-gaap_UseOfEstimates_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UseOfEstimates_lbl" xml:lang="en-US">Use Of Estimates, Policy [Policy Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_UseOfEstimates_lbl" xml:lang="en-US">Use of Estimates</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRecognitionPolicyTextBlock" xlink:label="us-gaap_RevenueRecognitionPolicyTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRecognitionPolicyTextBlock" xlink:to="us-gaap_RevenueRecognitionPolicyTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueRecognitionPolicyTextBlock_lbl" xml:lang="en-US">Revenue Recognition, Policy [Policy Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RevenueRecognitionPolicyTextBlock_lbl" xml:lang="en-US">Revenue Recognition</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:label="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:to="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_lbl" xml:lang="en-US">Foreign Currency Transactions and Translations Policy [Policy Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_lbl" xml:lang="en-US">Foreign Currency Translation</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativesPolicyTextBlock" xlink:label="us-gaap_DerivativesPolicyTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativesPolicyTextBlock" xlink:to="us-gaap_DerivativesPolicyTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativesPolicyTextBlock_lbl" xml:lang="en-US">Derivatives, Policy [Policy Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DerivativesPolicyTextBlock_lbl" xml:lang="en-US">Derivative Instruments</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:label="us-gaap_CashAndCashEquivalentsPolicyTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:to="us-gaap_CashAndCashEquivalentsPolicyTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashAndCashEquivalentsPolicyTextBlock_lbl" xml:lang="en-US">Cash and Cash Equivalents, Policy [Policy Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CashAndCashEquivalentsPolicyTextBlock_lbl" xml:lang="en-US">Cash Equivalents</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InvestmentPolicyTextBlock" xlink:label="us-gaap_InvestmentPolicyTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InvestmentPolicyTextBlock" xlink:to="us-gaap_InvestmentPolicyTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InvestmentPolicyTextBlock_lbl" xml:lang="en-US">Investment, Policy [Policy Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InvestmentPolicyTextBlock_lbl" xml:lang="en-US">Short term Investments-other</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskCreditRisk" xlink:label="us-gaap_ConcentrationRiskCreditRisk" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskCreditRisk" xlink:to="us-gaap_ConcentrationRiskCreditRisk_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskCreditRisk_lbl" xml:lang="en-US">Concentration Risk, Credit Risk, Policy [Policy Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ConcentrationRiskCreditRisk_lbl" xml:lang="en-US">Concentration of Credit Risk</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:label="us-gaap_TradeAndOtherAccountsReceivablePolicy" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:to="us-gaap_TradeAndOtherAccountsReceivablePolicy_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TradeAndOtherAccountsReceivablePolicy_lbl" xml:lang="en-US">Trade and Other Accounts Receivable, Policy [Policy Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_TradeAndOtherAccountsReceivablePolicy_lbl" xml:lang="en-US">Accounts Receivable</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_lbl" xml:lang="en-US">Property, Plant and Equipment, Policy [Policy Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_lbl" xml:lang="en-US">Property and Equipment</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock" xlink:label="us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock" xlink:to="us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock_lbl" xml:lang="en-US">Research, Development, and Computer Software Disclosure [Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock_lbl" xml:lang="en-US">Capitalized Developed Software</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:label="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:to="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_lbl" xml:lang="en-US">Impairment or Disposal of Long-Lived Assets, Policy [Policy Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_lbl" xml:lang="en-US">Long-lived Assets</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock" xlink:label="us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock" xlink:to="us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock_lbl" xml:lang="en-US">Goodwill and Intangible Assets, Policy [Policy Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock_lbl" xml:lang="en-US">Goodwill and Other Intangible Assets</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxPolicyTextBlock" xlink:label="us-gaap_IncomeTaxPolicyTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxPolicyTextBlock" xlink:to="us-gaap_IncomeTaxPolicyTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxPolicyTextBlock_lbl" xml:lang="en-US">Income Tax, Policy [Policy Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_IncomeTaxPolicyTextBlock_lbl" xml:lang="en-US">Income Taxes</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LessorLeasesPolicyTextBlock" xlink:label="us-gaap_LessorLeasesPolicyTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LessorLeasesPolicyTextBlock" xlink:to="us-gaap_LessorLeasesPolicyTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LessorLeasesPolicyTextBlock_lbl" xml:lang="en-US">Lessor, Leases [Policy Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LessorLeasesPolicyTextBlock_lbl" xml:lang="en-US">Accounting for Leases</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:label="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:to="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_lbl" xml:lang="en-US">Share-based Compensation, Option and Incentive Plans Policy [Policy Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_lbl" xml:lang="en-US">Accounting for Stock-Based Compensation</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:label="us-gaap_FairValueOfFinancialInstrumentsPolicy" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:to="us-gaap_FairValueOfFinancialInstrumentsPolicy_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueOfFinancialInstrumentsPolicy_lbl" xml:lang="en-US">Fair Value of Financial Instruments, Policy [Policy Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FairValueOfFinancialInstrumentsPolicy_lbl" xml:lang="en-US">Fair Value of Financial Instruments</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerSharePolicyTextBlock" xlink:label="us-gaap_EarningsPerSharePolicyTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerSharePolicyTextBlock" xlink:to="us-gaap_EarningsPerSharePolicyTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerSharePolicyTextBlock_lbl" xml:lang="en-US">Earnings Per Share, Policy [Policy Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EarningsPerSharePolicyTextBlock_lbl" xml:lang="en-US">Income (Loss) per Share</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PensionAndOtherPostretirementPlansPensionsPolicy" xlink:label="us-gaap_PensionAndOtherPostretirementPlansPensionsPolicy" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PensionAndOtherPostretirementPlansPensionsPolicy" xlink:to="us-gaap_PensionAndOtherPostretirementPlansPensionsPolicy_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PensionAndOtherPostretirementPlansPensionsPolicy_lbl" xml:lang="en-US">Pension and Other Postretirement Plans, Pensions, Policy [Policy Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PensionAndOtherPostretirementPlansPensionsPolicy_lbl" xml:lang="en-US">Pension</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:label="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:to="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_lbl" xml:lang="en-US">Revenue Recognition, Deferred Revenue [Policy Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_lbl" xml:lang="en-US">Deferred Revenue</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:to="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_lbl" xml:lang="en-US">New Accounting Pronouncements, Policy [Policy Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_lbl" xml:lang="en-US">Recent Accounting Pronouncements</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock" xlink:label="us-gaap_ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock" xlink:to="us-gaap_ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock_lbl" xml:lang="en-US">Schedule of Compensation Cost for Share-based Payment Arrangements, Allocation of Share-based Compensation Costs by Plan [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock_lbl" xml:lang="en-US">Schedule of stock-based compensation expense</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredRevenueByArrangementDisclosureTextBlock" xlink:label="us-gaap_DeferredRevenueByArrangementDisclosureTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredRevenueByArrangementDisclosureTextBlock" xlink:to="us-gaap_DeferredRevenueByArrangementDisclosureTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredRevenueByArrangementDisclosureTextBlock_lbl" xml:lang="en-US">Deferred Revenue, by Arrangement, Disclosure [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredRevenueByArrangementDisclosureTextBlock_lbl" xml:lang="en-US">Schedule of information about contract liabilities (deferred revenue)</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_ShortTermInvestmentsOtherReadilyMarketableTableTextBlock" xlink:label="inod_ShortTermInvestmentsOtherReadilyMarketableTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_ShortTermInvestmentsOtherReadilyMarketableTableTextBlock" xlink:to="inod_ShortTermInvestmentsOtherReadilyMarketableTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_ShortTermInvestmentsOtherReadilyMarketableTableTextBlock_lbl" xml:lang="en-US">Tabular disclosure of other investments readily marketable, including, but not limited to, description of investment, fair value and value as measured by quoted price.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_ShortTermInvestmentsOtherReadilyMarketableTableTextBlock_lbl" xml:lang="en-US">Short Term Investments, Other, Readily Marketable [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_ShortTermInvestmentsOtherReadilyMarketableTableTextBlock_lbl" xml:lang="en-US">Schedule of other short term investments</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" xlink:label="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" xlink:to="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock_lbl" xml:lang="en-US">Schedule of Accounts, Notes, Loans and Financing Receivable [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock_lbl" xml:lang="en-US">Schedule of accounts receivable</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" xlink:label="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" xlink:to="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock_lbl" xml:lang="en-US">Accounts Receivable, Allowance for Credit Loss [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock_lbl" xml:lang="en-US">Schedule of activity in allowance for credit losses</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock_lbl" xml:lang="en-US">Property, Plant and Equipment [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock_lbl" xml:lang="en-US">Schedule of property and equipment, which include amounts recorded under capital leases</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfGoodwillTextBlock" xlink:label="us-gaap_ScheduleOfGoodwillTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfGoodwillTextBlock" xlink:to="us-gaap_ScheduleOfGoodwillTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfGoodwillTextBlock_lbl" xml:lang="en-US">Schedule of Goodwill [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfGoodwillTextBlock_lbl" xml:lang="en-US">Schedule of changes in carrying amount of goodwill</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_lbl" xml:lang="en-US">Schedule of Finite-Lived Intangible Assets [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_lbl" xml:lang="en-US">Schedule of Company's acquired intangible assets and capitalized developed software</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:label="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:to="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_lbl" xml:lang="en-US">Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_lbl" xml:lang="en-US">Schedule of estimated amortization expense for intangible assets</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:label="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:to="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_lbl" xml:lang="en-US">Schedule of Components of Income Tax Expense (Benefit) [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_lbl" xml:lang="en-US">Schedule of components of provision for income taxes</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:to="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_lbl" xml:lang="en-US">Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_lbl" xml:lang="en-US">Schedule of reconciliation of U.S. statutory rate with Company's effective tax rate</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:label="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:to="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_lbl" xml:lang="en-US">Schedule of Deferred Tax Assets and Liabilities [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_lbl" xml:lang="en-US">Schedule of deferred tax assets and liabilities</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" xlink:label="us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" xlink:to="us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock_lbl" xml:lang="en-US">Schedule of Income before Income Tax, Domestic and Foreign [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock_lbl" xml:lang="en-US">Schedule of United States and foreign components of loss before provision for income taxes</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:label="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:to="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock_lbl" xml:lang="en-US">Schedule Of Unrecognized Tax Benefits Roll Forward [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock_lbl" xml:lang="en-US">Schedule of roll forward of the Company's unrecognized tax benefits and associated interest</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_LongTermObligationsDisclosureTableTextBlock" xlink:label="inod_LongTermObligationsDisclosureTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_LongTermObligationsDisclosureTableTextBlock" xlink:to="inod_LongTermObligationsDisclosureTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_LongTermObligationsDisclosureTableTextBlock_lbl" xml:lang="en-US">The tabular disclosure for long-term obligations.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_LongTermObligationsDisclosureTableTextBlock_lbl" xml:lang="en-US">Long-Term Obligations, Disclosure [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_LongTermObligationsDisclosureTableTextBlock_lbl" xml:lang="en-US">Schedule of total long-term obligations</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_ScheduleOfOperatingLeaseExpenseRecognizedInFinancialStatementsTableTextBlock" xlink:label="inod_ScheduleOfOperatingLeaseExpenseRecognizedInFinancialStatementsTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_ScheduleOfOperatingLeaseExpenseRecognizedInFinancialStatementsTableTextBlock" xlink:to="inod_ScheduleOfOperatingLeaseExpenseRecognizedInFinancialStatementsTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_ScheduleOfOperatingLeaseExpenseRecognizedInFinancialStatementsTableTextBlock_lbl" xml:lang="en-US">Schedule of operating lease expense recognized in financial statements.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_ScheduleOfOperatingLeaseExpenseRecognizedInFinancialStatementsTableTextBlock_lbl" xml:lang="en-US">Schedule of Operating lease expense recognized in Financial Statements [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_ScheduleOfOperatingLeaseExpenseRecognizedInFinancialStatementsTableTextBlock_lbl" xml:lang="en-US">Schedule of operating lease expense recognized in financial statements</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_lbl" xml:lang="en-US">Lessee, Operating Lease, Liability, Maturity [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_lbl" xml:lang="en-US">Schedule of net present value of operating lease liability</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_ScheduleOfWeightedAverageRemainingLeaseTermsAndDiscountRatesTableTextBlock" xlink:label="inod_ScheduleOfWeightedAverageRemainingLeaseTermsAndDiscountRatesTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_ScheduleOfWeightedAverageRemainingLeaseTermsAndDiscountRatesTableTextBlock" xlink:to="inod_ScheduleOfWeightedAverageRemainingLeaseTermsAndDiscountRatesTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_ScheduleOfWeightedAverageRemainingLeaseTermsAndDiscountRatesTableTextBlock_lbl" xml:lang="en-US">Schedule of weighted average remaining lease terms and discount rates.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_ScheduleOfWeightedAverageRemainingLeaseTermsAndDiscountRatesTableTextBlock_lbl" xml:lang="en-US">Schedule of Weighted Average Remaining Lease Terms and Discount Rates [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_ScheduleOfWeightedAverageRemainingLeaseTermsAndDiscountRatesTableTextBlock_lbl" xml:lang="en-US">Schedule of weighted average remaining lease terms and discount rates</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfChangesInAccumulatedPostemploymentBenefitObligationsTableTextBlock" xlink:label="us-gaap_ScheduleOfChangesInAccumulatedPostemploymentBenefitObligationsTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfChangesInAccumulatedPostemploymentBenefitObligationsTableTextBlock" xlink:to="us-gaap_ScheduleOfChangesInAccumulatedPostemploymentBenefitObligationsTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfChangesInAccumulatedPostemploymentBenefitObligationsTableTextBlock_lbl" xml:lang="en-US">Schedule of Changes in Accumulated Postemployment Benefit Obligations [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfChangesInAccumulatedPostemploymentBenefitObligationsTableTextBlock_lbl" xml:lang="en-US">Schedule of status of the non-U.S. pension benefits pertaining to benefit obligations</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfNetBenefitCostsTableTextBlock" xlink:label="us-gaap_ScheduleOfNetBenefitCostsTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfNetBenefitCostsTableTextBlock" xlink:to="us-gaap_ScheduleOfNetBenefitCostsTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfNetBenefitCostsTableTextBlock_lbl" xml:lang="en-US">Schedule of Net Benefit Costs [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfNetBenefitCostsTableTextBlock_lbl" xml:lang="en-US">Schedule of status of the non-U.S. pension benefits pertaining to components of net periodic pension cost</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAmountsRecognizedInBalanceSheetTableTextBlock" xlink:label="us-gaap_ScheduleOfAmountsRecognizedInBalanceSheetTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfAmountsRecognizedInBalanceSheetTableTextBlock" xlink:to="us-gaap_ScheduleOfAmountsRecognizedInBalanceSheetTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfAmountsRecognizedInBalanceSheetTableTextBlock_lbl" xml:lang="en-US">Schedule of Amounts Recognized in Balance Sheet [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfAmountsRecognizedInBalanceSheetTableTextBlock_lbl" xml:lang="en-US">Schedule of accumulated benefit obligation</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAssumptionsUsedTableTextBlock" xlink:label="us-gaap_ScheduleOfAssumptionsUsedTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfAssumptionsUsedTableTextBlock" xlink:to="us-gaap_ScheduleOfAssumptionsUsedTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfAssumptionsUsedTableTextBlock_lbl" xml:lang="en-US">Schedule of Assumptions Used [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfAssumptionsUsedTableTextBlock_lbl" xml:lang="en-US">Schedule of actuarial assumptions for all non-U.S. plans</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfExpectedBenefitPaymentsTableTextBlock" xlink:label="us-gaap_ScheduleOfExpectedBenefitPaymentsTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfExpectedBenefitPaymentsTableTextBlock" xlink:to="us-gaap_ScheduleOfExpectedBenefitPaymentsTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfExpectedBenefitPaymentsTableTextBlock_lbl" xml:lang="en-US">Schedule of Expected Benefit Payments [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfExpectedBenefitPaymentsTableTextBlock_lbl" xml:lang="en-US">Schedule of estimated future benefit payments</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_StockOptionsTable" xlink:label="inod_StockOptionsTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_StockOptionsTable" xlink:to="inod_StockOptionsTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_StockOptionsTable_lbl" xml:lang="en-US">Schedule reflecting stock options.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_StockOptionsTable_lbl" xml:lang="en-US">Stock Options [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestrictedStockUnitsRSUMember" xlink:to="us-gaap_RestrictedStockUnitsRSUMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RestrictedStockUnitsRSUMember_lbl" xml:lang="en-US">Restricted Stock Units (RSUs) [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RestrictedStockUnitsRSUMember_lbl" xml:lang="en-US">Restricted Stock Units</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_RestrictedStockUnitsRSUMember_lbl" xml:lang="en-US">Restricted Stock Units</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PlanNameAxis_lbl" xml:lang="en-US">Plan Name [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PlanNameDomain" xlink:to="us-gaap_PlanNameDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PlanNameDomain_lbl" xml:lang="en-US">Plan Name [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_EquityPlansMember" xlink:label="inod_EquityPlansMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_EquityPlansMember" xlink:to="inod_EquityPlansMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_EquityPlansMember_lbl" xml:lang="en-US">Represents the information pertaining to Equity plans.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_EquityPlansMember_lbl" xml:lang="en-US">Equity Plans [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_EquityPlansMember_lbl" xml:lang="en-US">Equity Plans</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_StockOptionsLineItems" xlink:label="inod_StockOptionsLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_StockOptionsLineItems" xlink:to="inod_StockOptionsLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_StockOptionsLineItems_lbl" xml:lang="en-US">Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_StockOptionsLineItems_lbl" xml:lang="en-US">Stock Options [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_StockOptionsLineItems_lbl" xml:lang="en-US">Stock Options and Restricted Stock Units</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_lbl" xml:lang="en-US">Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_lbl" xml:lang="en-US">Schedule of weighted-average fair value of the options granted, and weighted-average assumptions</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_lbl" xml:lang="en-US">Schedule Of Share-Based Compensation, Stock Options, Activity [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_lbl" xml:lang="en-US">Schedule of stock option activity</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:to="us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock_lbl" xml:lang="en-US">Schedule of Share-based Compensation, Restricted Stock and Restricted Stock Units Activity [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock_lbl" xml:lang="en-US">Summary of restricted stock under the company's plan</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock" xlink:label="us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock" xlink:to="us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock_lbl" xml:lang="en-US">Schedule Of Accumulated Other Comprehensive Income (Loss) [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock_lbl" xml:lang="en-US">Schedule of components of accumulated other comprehensive loss and reclassifications from accumulated other comprehensive loss</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock_lbl" xml:lang="en-US">Schedule of Segment Reporting Information, by Segment [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock_lbl" xml:lang="en-US">Schedule of segment reporting information, by segment</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock" xlink:label="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock" xlink:to="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock_lbl" xml:lang="en-US">Schedule of Revenue from External Customers and Long-Lived Assets, by Geographical Areas [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock_lbl" xml:lang="en-US">Schedule of revenue from external customers and long-lived assets</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" xlink:label="us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" xlink:to="us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock_lbl" xml:lang="en-US">Schedule of Revenue from External Customers Attributed to Foreign Countries by Geographic Area [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock_lbl" xml:lang="en-US">Schedule of revenue from external customers based on client domicile</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:to="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl" xml:lang="en-US">Schedule Of Earnings Per Share, Basic and Diluted [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl" xml:lang="en-US">Schedule of loss per share, basic and diluted</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock" xlink:label="us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock" xlink:to="us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock_lbl" xml:lang="en-US">Schedule Of Derivative Instruments In Statement Of Financial Position, Fair Value [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock_lbl" xml:lang="en-US">Schedule of fair value of derivative instruments included within the condensed consolidated balance sheets</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock" xlink:label="us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock" xlink:to="us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_lbl" xml:lang="en-US">Derivative Instruments, Gain (Loss) [Table Text Block]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_lbl" xml:lang="en-US">Schedule of effect of foreign currency forward contracts designated as cash flow hedges on condensed consolidated statements of operations</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesTable" xlink:label="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesTable" xlink:to="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesTable_lbl" xml:lang="en-US">Description of Business and Summary of Significant Accounting Estimates and Policies [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_StatementGeographicalAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_StatementGeographicalAxis_lbl" xml:lang="en-US">Geographical [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_SegmentGeographicalDomain" xlink:to="srt_SegmentGeographicalDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_SegmentGeographicalDomain_lbl" xml:lang="en-US">Segment, Geographical [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_AsiaMember" xlink:label="srt_AsiaMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_AsiaMember" xlink:to="srt_AsiaMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_AsiaMember_lbl" xml:lang="en-US">Asia [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="srt_AsiaMember_lbl" xml:lang="en-US">Asia</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_US" xlink:label="country_US" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_US" xlink:to="country_US_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_US_lbl" xml:lang="en-US">UNITED STATES</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="country_US_lbl" xml:lang="en-US">United States</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_RangeAxis" xlink:to="srt_RangeAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_RangeAxis_lbl" xml:lang="en-US">Range [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_RangeMember" xlink:to="srt_RangeMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_RangeMember_lbl" xml:lang="en-US">Range [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MinimumMember" xlink:to="srt_MinimumMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_MinimumMember_lbl" xml:lang="en-US">Minimum [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="srt_MinimumMember_lbl" xml:lang="en-US">Minimum</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MaximumMember" xlink:to="srt_MaximumMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_MaximumMember_lbl" xml:lang="en-US">Maximum [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="srt_MaximumMember_lbl" xml:lang="en-US">Maximum</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis_lbl" xml:lang="en-US">Long-Lived Tangible Asset [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain_lbl" xml:lang="en-US">Property, Plant and Equipment, Type [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SoftwareDevelopmentMember" xlink:label="us-gaap_SoftwareDevelopmentMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SoftwareDevelopmentMember" xlink:to="us-gaap_SoftwareDevelopmentMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SoftwareDevelopmentMember_lbl" xml:lang="en-US">Software Development [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SoftwareDevelopmentMember_lbl" xml:lang="en-US">Capitalized software development</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InProcessResearchAndDevelopmentMember" xlink:label="us-gaap_InProcessResearchAndDevelopmentMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InProcessResearchAndDevelopmentMember" xlink:to="us-gaap_InProcessResearchAndDevelopmentMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InProcessResearchAndDevelopmentMember_lbl" xml:lang="en-US">In Process Research and Development [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InProcessResearchAndDevelopmentMember_lbl" xml:lang="en-US">In process research and development</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems" xlink:label="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems" xlink:to="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems_lbl" xml:lang="en-US">Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems_lbl" xml:lang="en-US">Description of Business and Summary of Significant Accounting Policies [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems_lbl" xml:lang="en-US">Description of Business and Summary of Significant Accounting Estimates and Policies</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NumberOfReportableSegments" xlink:label="us-gaap_NumberOfReportableSegments" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NumberOfReportableSegments" xlink:to="us-gaap_NumberOfReportableSegments_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NumberOfReportableSegments_lbl" xml:lang="en-US">Number of Reportable Segments</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NumberOfReportableSegments_lbl" xml:lang="en-US">Number of reporting segments</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CapitalizedContractCostAmortizationPeriod" xlink:label="us-gaap_CapitalizedContractCostAmortizationPeriod" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CapitalizedContractCostAmortizationPeriod" xlink:to="us-gaap_CapitalizedContractCostAmortizationPeriod_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CapitalizedContractCostAmortizationPeriod_lbl" xml:lang="en-US">Capitalized Contract Cost, Amortization Period</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CapitalizedContractCostAmortizationPeriod_lbl" xml:lang="en-US">Amortization period</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets_lbl" xml:lang="en-US">Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Prepaid Expense and Other Assets</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets_lbl" xml:lang="en-US">Prepaid expenses and other current assets on contract acquisition costs</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:label="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:to="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_lbl" xml:lang="en-US">Foreign Currency Transaction Gain (Loss), before Tax</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_lbl" xml:lang="en-US">Foreign exchange losses (gains)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:to="us-gaap_FiniteLivedIntangibleAssetUsefulLife_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife_lbl" xml:lang="en-US">Finite-Lived Intangible Asset, Useful Life</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife_lbl" xml:lang="en-US">Estimated useful life of intangibles</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignCurrencyContractAssetFairValueDisclosure" xlink:label="us-gaap_ForeignCurrencyContractAssetFairValueDisclosure" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ForeignCurrencyContractAssetFairValueDisclosure" xlink:to="us-gaap_ForeignCurrencyContractAssetFairValueDisclosure_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ForeignCurrencyContractAssetFairValueDisclosure_lbl" xml:lang="en-US">Foreign Currency Contract, Asset, Fair Value Disclosure</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ForeignCurrencyContractAssetFairValueDisclosure_lbl" xml:lang="en-US">Outstanding foreign currency forward contracts</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:to="us-gaap_PropertyPlantAndEquipmentUsefulLife_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife_lbl" xml:lang="en-US">Property, Plant and Equipment, Useful Life</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife_lbl" xml:lang="en-US">Property and equipment useful lives</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife_lbl" xml:lang="en-US">Estimated useful lives</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" xlink:label="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" xlink:to="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization_lbl" xml:lang="en-US">Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, before Accumulated Depreciation and Amortization</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization_lbl" xml:lang="en-US">Cost</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization_lbl" xml:lang="en-US">Property and equipment, stated at cost</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredRevenue" xlink:label="us-gaap_DeferredRevenue" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredRevenue" xlink:to="us-gaap_DeferredRevenue_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredRevenue_lbl" xml:lang="en-US">Deferred Revenue</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_DeferredRevenue_lbl" xml:lang="en-US">Balance at December 31</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_DeferredRevenue_lbl" xml:lang="en-US">Balance at January 1</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredRevenue_lbl" xml:lang="en-US">Deferred revenue</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockOptionPlanExpense" xlink:label="us-gaap_StockOptionPlanExpense" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockOptionPlanExpense" xlink:to="us-gaap_StockOptionPlanExpense_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockOptionPlanExpense_lbl" xml:lang="en-US">Stock or Unit Option Plan Expense</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockOptionPlanExpense_lbl" xml:lang="en-US">Direct operating costs</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherSellingGeneralAndAdministrativeExpense" xlink:label="us-gaap_OtherSellingGeneralAndAdministrativeExpense" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherSellingGeneralAndAdministrativeExpense" xlink:to="us-gaap_OtherSellingGeneralAndAdministrativeExpense_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherSellingGeneralAndAdministrativeExpense_lbl" xml:lang="en-US">Other Selling, General and Administrative Expense</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherSellingGeneralAndAdministrativeExpense_lbl" xml:lang="en-US">Selling and administrative expenses</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredRevenuePeriodIncreaseDecrease" xlink:label="us-gaap_DeferredRevenuePeriodIncreaseDecrease" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredRevenuePeriodIncreaseDecrease" xlink:to="us-gaap_DeferredRevenuePeriodIncreaseDecrease_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredRevenuePeriodIncreaseDecrease_lbl" xml:lang="en-US">Deferred Revenue, Period Increase (Decrease)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredRevenuePeriodIncreaseDecrease_lbl" xml:lang="en-US">Net deferred revenue in the period</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredRevenueRevenueRecognized1" xlink:label="us-gaap_DeferredRevenueRevenueRecognized1" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredRevenueRevenueRecognized1" xlink:to="us-gaap_DeferredRevenueRevenueRecognized1_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredRevenueRevenueRecognized1_lbl" xml:lang="en-US">Deferred Revenue, Revenue Recognized</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_DeferredRevenueRevenueRecognized1_lbl" xml:lang="en-US">Revenue recognized</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments" xlink:label="us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments" xlink:to="us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments_lbl" xml:lang="en-US">Temporary Equity, Foreign Currency Translation Adjustments</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments_lbl" xml:lang="en-US">Currency translations and other adjustments</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MoneyMarketFundsAtCarryingValue" xlink:label="us-gaap_MoneyMarketFundsAtCarryingValue" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MoneyMarketFundsAtCarryingValue" xlink:to="us-gaap_MoneyMarketFundsAtCarryingValue_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MoneyMarketFundsAtCarryingValue_lbl" xml:lang="en-US">Money Market Funds, at Carrying Value</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_MoneyMarketFundsAtCarryingValue_lbl" xml:lang="en-US">Treasury bills</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CertificatesOfDepositAtCarryingValue" xlink:label="us-gaap_CertificatesOfDepositAtCarryingValue" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CertificatesOfDepositAtCarryingValue" xlink:to="us-gaap_CertificatesOfDepositAtCarryingValue_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CertificatesOfDepositAtCarryingValue_lbl" xml:lang="en-US">Certificates of Deposit, at Carrying Value</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CertificatesOfDepositAtCarryingValue_lbl" xml:lang="en-US">Certificates of deposit</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableGrossCurrent" xlink:label="us-gaap_AccountsReceivableGrossCurrent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableGrossCurrent" xlink:to="us-gaap_AccountsReceivableGrossCurrent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsReceivableGrossCurrent_lbl" xml:lang="en-US">Accounts Receivable, before Allowance for Credit Loss, Current</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccountsReceivableGrossCurrent_lbl" xml:lang="en-US">Gross Accounts receivable</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl" xml:lang="en-US">Accounts Receivable, Allowance for Credit Loss, Current</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl" xml:lang="en-US">Allowance for doubtful accounts</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl" xml:lang="en-US">Balance at December 31, 2023</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_lbl" xml:lang="en-US">Balance at January 1, 2023</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="us-gaap_ProvisionForDoubtfulAccounts" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProvisionForDoubtfulAccounts" xlink:to="us-gaap_ProvisionForDoubtfulAccounts_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProvisionForDoubtfulAccounts_lbl" xml:lang="en-US">Accounts Receivable, Credit Loss Expense (Reversal)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProvisionForDoubtfulAccounts_lbl" xml:lang="en-US">Additions charged to expense</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs_lbl" xml:lang="en-US">Accounts Receivable, Allowance for Credit Loss, Writeoff</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs_lbl" xml:lang="en-US">Write-offs against allowance</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancingReceivableAllowanceForCreditLossForeignCurrencyTranslation" xlink:label="us-gaap_FinancingReceivableAllowanceForCreditLossForeignCurrencyTranslation" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinancingReceivableAllowanceForCreditLossForeignCurrencyTranslation" xlink:to="us-gaap_FinancingReceivableAllowanceForCreditLossForeignCurrencyTranslation_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinancingReceivableAllowanceForCreditLossForeignCurrencyTranslation_lbl" xml:lang="en-US">Allowance for Loan and Lease Losses, Foreign Currency Translation</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FinancingReceivableAllowanceForCreditLossForeignCurrencyTranslation_lbl" xml:lang="en-US">Foreign currency translation adjustment</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_lbl" xml:lang="en-US">Property, Plant and Equipment [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquipmentMember" xlink:label="us-gaap_EquipmentMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquipmentMember" xlink:to="us-gaap_EquipmentMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquipmentMember_lbl" xml:lang="en-US">Equipment [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EquipmentMember_lbl" xml:lang="en-US">Equipment</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComputerSoftwareIntangibleAssetMember" xlink:label="us-gaap_ComputerSoftwareIntangibleAssetMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComputerSoftwareIntangibleAssetMember" xlink:to="us-gaap_ComputerSoftwareIntangibleAssetMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ComputerSoftwareIntangibleAssetMember_lbl" xml:lang="en-US">Computer Software, Intangible Asset [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ComputerSoftwareIntangibleAssetMember_lbl" xml:lang="en-US">Capitalized Developed Software</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ComputerSoftwareIntangibleAssetMember_lbl" xml:lang="en-US">Computer software</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FurnitureAndFixturesMember" xlink:label="us-gaap_FurnitureAndFixturesMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FurnitureAndFixturesMember" xlink:to="us-gaap_FurnitureAndFixturesMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FurnitureAndFixturesMember_lbl" xml:lang="en-US">Furniture and Equipment [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FurnitureAndFixturesMember_lbl" xml:lang="en-US">Furniture and equipment</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="us-gaap_LeaseholdImprovementsMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseholdImprovementsMember" xlink:to="us-gaap_LeaseholdImprovementsMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LeaseholdImprovementsMember_lbl" xml:lang="en-US">Leasehold Improvements [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LeaseholdImprovementsMember_lbl" xml:lang="en-US">Leasehold improvements</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConstructionInProgressMember" xlink:label="us-gaap_ConstructionInProgressMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConstructionInProgressMember" xlink:to="us-gaap_ConstructionInProgressMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConstructionInProgressMember_lbl" xml:lang="en-US">Construction in Progress [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ConstructionInProgressMember_lbl" xml:lang="en-US">Capital work-in-progress</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems_lbl" xml:lang="en-US">Property, Plant and Equipment [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems_lbl" xml:lang="en-US">Property and equipment</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization" xlink:label="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization" xlink:to="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization_lbl" xml:lang="en-US">Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, Accumulated Depreciation and Amortization</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization_lbl" xml:lang="en-US">Less: accumulated depreciation and amortization</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" xlink:label="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" xlink:to="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_lbl" xml:lang="en-US">Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, after Accumulated Depreciation and Amortization</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_lbl" xml:lang="en-US">Net</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentMember" xlink:label="us-gaap_PropertyPlantAndEquipmentMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentMember" xlink:to="us-gaap_PropertyPlantAndEquipmentMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentMember_lbl" xml:lang="en-US">Property, Plant and Equipment [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentMember_lbl" xml:lang="en-US">Property and equipment</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfGoodwillTable" xlink:label="us-gaap_ScheduleOfGoodwillTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfGoodwillTable" xlink:to="us-gaap_ScheduleOfGoodwillTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfGoodwillTable_lbl" xml:lang="en-US">Schedule of Goodwill [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillLineItems" xlink:label="us-gaap_GoodwillLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillLineItems" xlink:to="us-gaap_GoodwillLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GoodwillLineItems_lbl" xml:lang="en-US">Goodwill [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_GoodwillLineItems_lbl" xml:lang="en-US">Goodwill and Intangible Assets</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillForeignCurrencyTranslationGainLoss" xlink:label="us-gaap_GoodwillForeignCurrencyTranslationGainLoss" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillForeignCurrencyTranslationGainLoss" xlink:to="us-gaap_GoodwillForeignCurrencyTranslationGainLoss_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GoodwillForeignCurrencyTranslationGainLoss_lbl" xml:lang="en-US">Goodwill, Foreign Currency Translation Gain (Loss)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_GoodwillForeignCurrencyTranslationGainLoss_lbl" xml:lang="en-US">Foreign currency translation adjustment</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_lbl" xml:lang="en-US">Schedule of Finite-Lived Intangible Assets [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_lbl" xml:lang="en-US">Finite-Lived Intangible Assets by Major Class [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_lbl" xml:lang="en-US">Finite-Lived Intangible Assets, Major Class Name [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_AcquiredIntangibleAssetsMember" xlink:label="inod_AcquiredIntangibleAssetsMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_AcquiredIntangibleAssetsMember" xlink:to="inod_AcquiredIntangibleAssetsMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_AcquiredIntangibleAssetsMember_lbl" xml:lang="en-US">This member stands for acquired intangible assets.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_AcquiredIntangibleAssetsMember_lbl" xml:lang="en-US">Acquired Intangible Assets [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_AcquiredIntangibleAssetsMember_lbl" xml:lang="en-US">Acquired Intangible Assets</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems_lbl" xml:lang="en-US">Finite-Lived Intangible Assets [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems_lbl" xml:lang="en-US">Goodwill and Intangible Assets</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillImpairmentLoss" xlink:label="us-gaap_GoodwillImpairmentLoss" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillImpairmentLoss" xlink:to="us-gaap_GoodwillImpairmentLoss_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GoodwillImpairmentLoss_lbl" xml:lang="en-US">Goodwill, Impairment Loss</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_GoodwillImpairmentLoss_lbl" xml:lang="en-US">Goodwill impairment</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AmortizationOfIntangibleAssets" xlink:to="us-gaap_AmortizationOfIntangibleAssets_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AmortizationOfIntangibleAssets_lbl" xml:lang="en-US">Amortization of Intangible Assets</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AmortizationOfIntangibleAssets_lbl" xml:lang="en-US">Amortization expense</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DevelopedTechnologyRightsMember" xlink:label="us-gaap_DevelopedTechnologyRightsMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DevelopedTechnologyRightsMember" xlink:to="us-gaap_DevelopedTechnologyRightsMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DevelopedTechnologyRightsMember_lbl" xml:lang="en-US">Developed Technology Rights [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DevelopedTechnologyRightsMember_lbl" xml:lang="en-US">Developed technology</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="us-gaap_CustomerRelationshipsMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CustomerRelationshipsMember" xlink:to="us-gaap_CustomerRelationshipsMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CustomerRelationshipsMember_lbl" xml:lang="en-US">Customer Relationships [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_CustomerRelationshipsMember_lbl" xml:lang="en-US">Customer relationships</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TrademarksAndTradeNamesMember" xlink:label="us-gaap_TrademarksAndTradeNamesMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TrademarksAndTradeNamesMember" xlink:to="us-gaap_TrademarksAndTradeNamesMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TrademarksAndTradeNamesMember_lbl" xml:lang="en-US">Trademarks and Trade Names [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_TrademarksAndTradeNamesMember_lbl" xml:lang="en-US">Trademarks and tradenames</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PatentsMember" xlink:label="us-gaap_PatentsMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PatentsMember" xlink:to="us-gaap_PatentsMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PatentsMember_lbl" xml:lang="en-US">Patents [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PatentsMember_lbl" xml:lang="en-US">Patents</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DatabasesMember" xlink:label="us-gaap_DatabasesMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DatabasesMember" xlink:to="us-gaap_DatabasesMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DatabasesMember_lbl" xml:lang="en-US">Database Rights [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DatabasesMember_lbl" xml:lang="en-US">Media Contact Database</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_CapitalizedSoftwareDevelopmentCostMember" xlink:label="inod_CapitalizedSoftwareDevelopmentCostMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_CapitalizedSoftwareDevelopmentCostMember" xlink:to="inod_CapitalizedSoftwareDevelopmentCostMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_CapitalizedSoftwareDevelopmentCostMember_lbl" xml:lang="en-US">Collection of computer programs and related data that provide instructions to a computer cost.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_CapitalizedSoftwareDevelopmentCostMember_lbl" xml:lang="en-US">Capitalized Software Development Cost [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_CapitalizedSoftwareDevelopmentCostMember_lbl" xml:lang="en-US">Capitalized Developed Software</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember" xlink:label="inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember" xlink:to="inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember_lbl" xml:lang="en-US">Collection of computer programs and related data that provide instructions to a computer, for example, but not limited to, application program,</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember_lbl" xml:lang="en-US">Capitalized Software Development Cost - Work in Progress [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember_lbl" xml:lang="en-US">Capitalized Developed Software - in Progress</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsGross" xlink:to="us-gaap_FiniteLivedIntangibleAssetsGross_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross_lbl" xml:lang="en-US">Finite-Lived Intangible Assets, Gross</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross_lbl" xml:lang="en-US">Gross Carrying Value</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl" xml:lang="en-US">Finite-Lived Intangible Assets, Accumulated Amortization</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl" xml:lang="en-US">Accumulated Amortization</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment" xlink:label="inod_FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment" xlink:to="inod_FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment_lbl" xml:lang="en-US">Accumulated amount of foreign currency translation adjustments on assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment_lbl" xml:lang="en-US">Finite-Lived Intangible Assets, Accumulated Foreign Currency Translation Adjustment</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment_lbl" xml:lang="en-US">Foreign Currency Translation Adjustment</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_lbl" xml:lang="en-US">Finite-Lived Intangible Assets, Net</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_lbl" xml:lang="en-US">Net Carrying Value</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_lbl" xml:lang="en-US">Finite-Lived Intangible Asset, Expected Amortization, Year One</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_lbl" xml:lang="en-US">2024</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_lbl" xml:lang="en-US">Finite-Lived Intangible Assets, Amortization Expense, Year Two</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_lbl" xml:lang="en-US">2025</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_lbl" xml:lang="en-US">Finite-Lived Intangible Assets, Amortization Expense, Year Three</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_lbl" xml:lang="en-US">2026</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_lbl" xml:lang="en-US">Finite-Lived Intangible Assets, Amortization Expense, Year Four</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_lbl" xml:lang="en-US">2027</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_lbl" xml:lang="en-US">Finite-Lived Intangible Assets, Amortization Expense, Year Five</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_lbl" xml:lang="en-US">2028</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_FiniteLivedIntangibleAssetExpectedAmortizationThereafter" xlink:label="inod_FiniteLivedIntangibleAssetExpectedAmortizationThereafter" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_FiniteLivedIntangibleAssetExpectedAmortizationThereafter" xlink:to="inod_FiniteLivedIntangibleAssetExpectedAmortizationThereafter_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_FiniteLivedIntangibleAssetExpectedAmortizationThereafter_lbl" xml:lang="en-US">Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized thereafter excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_FiniteLivedIntangibleAssetExpectedAmortizationThereafter_lbl" xml:lang="en-US">Finite-Lived Intangible Asset, Expected Amortization, Thereafter</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="inod_FiniteLivedIntangibleAssetExpectedAmortizationThereafter_lbl" xml:lang="en-US">Thereafter</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_IncomeTaxesTable" xlink:label="inod_IncomeTaxesTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_IncomeTaxesTable" xlink:to="inod_IncomeTaxesTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_IncomeTaxesTable_lbl" xml:lang="en-US">Schedule of information relating to income taxes.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_IncomeTaxesTable_lbl" xml:lang="en-US">Income Taxes [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_IncomeTaxesLineItems" xlink:label="inod_IncomeTaxesLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_IncomeTaxesLineItems" xlink:to="inod_IncomeTaxesLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_IncomeTaxesLineItems_lbl" xml:lang="en-US">Income Taxes [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_IncomeTaxesLineItems_lbl" xml:lang="en-US">Income Taxes</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl" xml:lang="en-US">Current Income Tax Expense (Benefit), Continuing Operations [Abstract]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl" xml:lang="en-US">Current income tax expense (benefit):</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentForeignTaxExpenseBenefit" xlink:label="us-gaap_CurrentForeignTaxExpenseBenefit" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentForeignTaxExpenseBenefit" xlink:to="us-gaap_CurrentForeignTaxExpenseBenefit_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CurrentForeignTaxExpenseBenefit_lbl" xml:lang="en-US">Current Foreign Tax Expense (Benefit)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_CurrentForeignTaxExpenseBenefit_lbl" xml:lang="en-US">Foreign</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentFederalTaxExpenseBenefit" xlink:label="us-gaap_CurrentFederalTaxExpenseBenefit" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentFederalTaxExpenseBenefit" xlink:to="us-gaap_CurrentFederalTaxExpenseBenefit_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CurrentFederalTaxExpenseBenefit_lbl" xml:lang="en-US">Current Federal Tax Expense (Benefit)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_CurrentFederalTaxExpenseBenefit_lbl" xml:lang="en-US">Federal</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:label="us-gaap_CurrentStateAndLocalTaxExpenseBenefit" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:to="us-gaap_CurrentStateAndLocalTaxExpenseBenefit_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CurrentStateAndLocalTaxExpenseBenefit_lbl" xml:lang="en-US">Current State and Local Tax Expense (Benefit)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_CurrentStateAndLocalTaxExpenseBenefit_lbl" xml:lang="en-US">State and local</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefit_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Current Income Tax Expense (Benefit)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Current income tax expense (benefit)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl" xml:lang="en-US">Deferred Income Tax Expense (Benefit), Continuing Operations [Abstract]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_lbl" xml:lang="en-US">Deferred income tax expense (benefit):</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredForeignIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredForeignIncomeTaxExpenseBenefit" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredForeignIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredForeignIncomeTaxExpenseBenefit_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredForeignIncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Deferred Foreign Income Tax Expense (Benefit)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DeferredForeignIncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Foreign</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredFederalIncomeTaxExpenseBenefit" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredFederalIncomeTaxExpenseBenefit_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredFederalIncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Deferred Federal Income Tax Expense (Benefit)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DeferredFederalIncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Federal</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Deferred Income Tax Expense (Benefit)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl" xml:lang="en-US">Deferred income tax expense (benefit)</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRateBenefitExpense" xlink:label="inod_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRateBenefitExpense" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRateBenefitExpense" xlink:to="inod_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRateBenefitExpense_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRateBenefitExpense_lbl" xml:lang="en-US">Percentage of domestic federal statutory tax rate applicable to pretax income (loss).</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRateBenefitExpense_lbl" xml:lang="en-US">Effective Income Tax Rate Reconciliation At Federal Statutory Income Tax Rate (Benefit) Expense</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRateBenefitExpense_lbl" xml:lang="en-US">Federal income tax expense (benefit) at statutory rate</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_lbl" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Percent [Abstract]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_lbl" xml:lang="en-US">Effect of:</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_lbl" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Change in Deferred Tax Assets Valuation Allowance, Percent</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_lbl" xml:lang="en-US">Change in valuation allowance</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingenciesForeign" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingenciesForeign" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingenciesForeign" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingenciesForeign_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingenciesForeign_lbl" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Tax Contingency, Foreign, Percent</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingenciesForeign_lbl" xml:lang="en-US">Tax effects of foreign operations</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_EffectiveIncomeTaxRateReconciliationSection162Percentage" xlink:label="inod_EffectiveIncomeTaxRateReconciliationSection162Percentage" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_EffectiveIncomeTaxRateReconciliationSection162Percentage" xlink:to="inod_EffectiveIncomeTaxRateReconciliationSection162Percentage_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_EffectiveIncomeTaxRateReconciliationSection162Percentage_lbl" xml:lang="en-US">Effective income tax rate reconciliation section 162 percentage.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_EffectiveIncomeTaxRateReconciliationSection162Percentage_lbl" xml:lang="en-US">Effective Income Tax Rate Reconciliation Section 162 Percentage</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_EffectiveIncomeTaxRateReconciliationSection162Percentage_lbl" xml:lang="en-US">Section 162 (m)</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_EffectiveIncomeTaxRateReconciliationReturnToProvisionTrueUp" xlink:label="inod_EffectiveIncomeTaxRateReconciliationReturnToProvisionTrueUp" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_EffectiveIncomeTaxRateReconciliationReturnToProvisionTrueUp" xlink:to="inod_EffectiveIncomeTaxRateReconciliationReturnToProvisionTrueUp_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_EffectiveIncomeTaxRateReconciliationReturnToProvisionTrueUp_lbl" xml:lang="en-US">Amount of Effective Income Tax Rate Reconciliation, Return to Provision True Up.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_EffectiveIncomeTaxRateReconciliationReturnToProvisionTrueUp_lbl" xml:lang="en-US">Effective Income Tax Rate Reconciliation Return to Provision True Up</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_EffectiveIncomeTaxRateReconciliationReturnToProvisionTrueUp_lbl" xml:lang="en-US">Return to provision true up</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_EffectiveIncomeTaxRateReconciliationIncreaseInUnrecognizedTaxBenefits" xlink:label="inod_EffectiveIncomeTaxRateReconciliationIncreaseInUnrecognizedTaxBenefits" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_EffectiveIncomeTaxRateReconciliationIncreaseInUnrecognizedTaxBenefits" xlink:to="inod_EffectiveIncomeTaxRateReconciliationIncreaseInUnrecognizedTaxBenefits_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_EffectiveIncomeTaxRateReconciliationIncreaseInUnrecognizedTaxBenefits_lbl" xml:lang="en-US">These lines are represents tax rate of income unrecognized tax benefits.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_EffectiveIncomeTaxRateReconciliationIncreaseInUnrecognizedTaxBenefits_lbl" xml:lang="en-US">Effective Income Tax Rate Reconciliation Increase In Unrecognized Tax Benefits</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_EffectiveIncomeTaxRateReconciliationIncreaseInUnrecognizedTaxBenefits_lbl" xml:lang="en-US">Increase in unrecognized tax benefits (ASC 740)</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_EffectiveIncomeTaxRateReconciliationWithholdingTaxPercentage" xlink:label="inod_EffectiveIncomeTaxRateReconciliationWithholdingTaxPercentage" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_EffectiveIncomeTaxRateReconciliationWithholdingTaxPercentage" xlink:to="inod_EffectiveIncomeTaxRateReconciliationWithholdingTaxPercentage_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_EffectiveIncomeTaxRateReconciliationWithholdingTaxPercentage_lbl" xml:lang="en-US">Effective income tax rate reconciliation withholding tax percentage.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_EffectiveIncomeTaxRateReconciliationWithholdingTaxPercentage_lbl" xml:lang="en-US">Effective Income Tax Rate Reconciliation Withholding Tax Percentage</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_EffectiveIncomeTaxRateReconciliationWithholdingTaxPercentage_lbl" xml:lang="en-US">Withholding tax</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_ForeignOperationsPermanentDifferenceForeignExchangeGainsAndLosses" xlink:label="inod_ForeignOperationsPermanentDifferenceForeignExchangeGainsAndLosses" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_ForeignOperationsPermanentDifferenceForeignExchangeGainsAndLosses" xlink:to="inod_ForeignOperationsPermanentDifferenceForeignExchangeGainsAndLosses_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_ForeignOperationsPermanentDifferenceForeignExchangeGainsAndLosses_lbl" xml:lang="en-US">Percentage of  foreign exchange gains and losses.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_ForeignOperationsPermanentDifferenceForeignExchangeGainsAndLosses_lbl" xml:lang="en-US">Foreign operations permanent difference - foreign exchange gains and losses</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_ForeignOperationsPermanentDifferenceForeignExchangeGainsAndLosses_lbl" xml:lang="en-US">Foreign operations permanent differences - foreign exchange gains and losses</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_lbl" xml:lang="en-US">Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Percent</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_lbl" xml:lang="en-US">State income tax net of federal benefit</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch_lbl" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Tax Credit, Research, Percent</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch_lbl" xml:lang="en-US">Research and development credit</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_lbl" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Foreign Income Tax Rate Differential, Percent</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_lbl" xml:lang="en-US">Foreign rate differential</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_EffectiveIncomeTaxRateReconciliationDeemedInterestPercent" xlink:label="inod_EffectiveIncomeTaxRateReconciliationDeemedInterestPercent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_EffectiveIncomeTaxRateReconciliationDeemedInterestPercent" xlink:to="inod_EffectiveIncomeTaxRateReconciliationDeemedInterestPercent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_EffectiveIncomeTaxRateReconciliationDeemedInterestPercent_lbl" xml:lang="en-US">Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to deemed interest.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_EffectiveIncomeTaxRateReconciliationDeemedInterestPercent_lbl" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Deemed Interest, Percent</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_EffectiveIncomeTaxRateReconciliationDeemedInterestPercent_lbl" xml:lang="en-US">Deemed interest</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_EffectiveIncomeTaxRateReconciliationTaxSettlementIntercompanyPercent" xlink:label="inod_EffectiveIncomeTaxRateReconciliationTaxSettlementIntercompanyPercent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_EffectiveIncomeTaxRateReconciliationTaxSettlementIntercompanyPercent" xlink:to="inod_EffectiveIncomeTaxRateReconciliationTaxSettlementIntercompanyPercent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_EffectiveIncomeTaxRateReconciliationTaxSettlementIntercompanyPercent_lbl" xml:lang="en-US">Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to tax benefit of intercompany settlement.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_EffectiveIncomeTaxRateReconciliationTaxSettlementIntercompanyPercent_lbl" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Tax Settlement, Intercompany, Percent</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_EffectiveIncomeTaxRateReconciliationTaxSettlementIntercompanyPercent_lbl" xml:lang="en-US">Tax effect of intercompany settlement</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_lbl" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Tax Expense (Benefit), Share-based Payment Arrangement, Percent</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_lbl" xml:lang="en-US">Effect of stock-based compensation</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent_lbl" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Other Reconciling Items, Percent</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent_lbl" xml:lang="en-US">Other</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperations_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations_lbl" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Percent</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations_lbl" xml:lang="en-US">Effective tax rate</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsGrossAbstract" xlink:label="us-gaap_DeferredTaxAssetsGrossAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract" xlink:to="us-gaap_DeferredTaxAssetsGrossAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsGrossAbstract_lbl" xml:lang="en-US">Deferred Tax Assets, Gross [Abstract]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DeferredTaxAssetsGrossAbstract_lbl" xml:lang="en-US">Deferred income tax assets:</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals_lbl" xml:lang="en-US">Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals_lbl" xml:lang="en-US">Allowances not currently deductible</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment" xlink:label="us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment" xlink:to="us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment_lbl" xml:lang="en-US">Deferred Tax Assets, Property, Plant and Equipment</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment_lbl" xml:lang="en-US">Depreciation and amortization</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits_lbl" xml:lang="en-US">Deferred Tax Assets, Tax Deferred Expense, Compensation and Benefits</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits_lbl" xml:lang="en-US">Equity compensation not currently deductible</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:to="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_lbl" xml:lang="en-US">Deferred Tax Assets, Operating Loss Carryforwards</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_lbl" xml:lang="en-US">Net operating loss carryforwards</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch" xlink:label="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch" xlink:to="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch_lbl" xml:lang="en-US">Deferred Tax Assets, Tax Credit Carryforwards, Research</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch_lbl" xml:lang="en-US">Research and development credits</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_DeferredTaxAssetsExpensesNotDeductibleUntilPaid" xlink:label="inod_DeferredTaxAssetsExpensesNotDeductibleUntilPaid" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_DeferredTaxAssetsExpensesNotDeductibleUntilPaid" xlink:to="inod_DeferredTaxAssetsExpensesNotDeductibleUntilPaid_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_DeferredTaxAssetsExpensesNotDeductibleUntilPaid_lbl" xml:lang="en-US">Amount of expenses not deductible until paid under deferred tax assets.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_DeferredTaxAssetsExpensesNotDeductibleUntilPaid_lbl" xml:lang="en-US">Deferred Tax Assets Expenses Not Deductible Until Paid</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="inod_DeferredTaxAssetsExpensesNotDeductibleUntilPaid_lbl" xml:lang="en-US">Expenses not deductible until paid</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsOther" xlink:label="us-gaap_DeferredTaxAssetsOther" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsOther" xlink:to="us-gaap_DeferredTaxAssetsOther_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsOther_lbl" xml:lang="en-US">Deferred Tax Assets, Other</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DeferredTaxAssetsOther_lbl" xml:lang="en-US">Other</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsGross" xlink:label="us-gaap_DeferredTaxAssetsGross" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsGross" xlink:to="us-gaap_DeferredTaxAssetsGross_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsGross_lbl" xml:lang="en-US">Deferred Tax Assets, Gross</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_DeferredTaxAssetsGross_lbl" xml:lang="en-US">Total gross deferred income tax assets before valuation allowance</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsValuationAllowance" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance_lbl" xml:lang="en-US">Deferred Tax Assets, Valuation Allowance</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance_lbl" xml:lang="en-US">Valuation allowance</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance_lbl" xml:lang="en-US">Valuation allowance</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsNet" xlink:label="us-gaap_DeferredTaxAssetsNet" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsNet" xlink:to="us-gaap_DeferredTaxAssetsNet_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsNet_lbl" xml:lang="en-US">Deferred Tax Assets, Net of Valuation Allowance</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_DeferredTaxAssetsNet_lbl" xml:lang="en-US">Deferred income tax assets, net</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DeferredTaxAssetsNet_lbl" xml:lang="en-US">Net deferred income tax assets</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComponentsOfDeferredTaxLiabilitiesAbstract" xlink:label="us-gaap_ComponentsOfDeferredTaxLiabilitiesAbstract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComponentsOfDeferredTaxLiabilitiesAbstract" xlink:to="us-gaap_ComponentsOfDeferredTaxLiabilitiesAbstract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ComponentsOfDeferredTaxLiabilitiesAbstract_lbl" xml:lang="en-US">Components of Deferred Tax Liabilities [Abstract]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ComponentsOfDeferredTaxLiabilitiesAbstract_lbl" xml:lang="en-US">Deferred income tax liabilities:</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesOther" xlink:label="us-gaap_DeferredTaxLiabilitiesOther" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxLiabilitiesOther" xlink:to="us-gaap_DeferredTaxLiabilitiesOther_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxLiabilitiesOther_lbl" xml:lang="en-US">Deferred Tax Liabilities, Other</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_DeferredTaxLiabilitiesOther_lbl" xml:lang="en-US">Other</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxLiabilities" xlink:label="us-gaap_DeferredIncomeTaxLiabilities" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxLiabilities" xlink:to="us-gaap_DeferredIncomeTaxLiabilities_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxLiabilities_lbl" xml:lang="en-US">Deferred Tax Liabilities, Gross</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_DeferredIncomeTaxLiabilities_lbl" xml:lang="en-US">Net deferred income tax liability</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:label="us-gaap_DeferredIncomeTaxLiabilities_lbl" xml:lang="en-US">Total deferred income tax liabilities</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:label="us-gaap_DeferredTaxAssetsLiabilitiesNet" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:to="us-gaap_DeferredTaxAssetsLiabilitiesNet_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsLiabilitiesNet_lbl" xml:lang="en-US">Deferred Tax Assets, Net</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxAssetsLiabilitiesNet_lbl" xml:lang="en-US">Net deferred income tax assets</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_DeferredTaxAssetsLiabilitiesNet_lbl" xml:lang="en-US">Net deferred income tax assets</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic_lbl" xml:lang="en-US">Income (Loss) from Continuing Operations before Income Taxes, Domestic</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic_lbl" xml:lang="en-US">United States</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign_lbl" xml:lang="en-US">Income (Loss) from Continuing Operations before Income Taxes, Foreign</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign_lbl" xml:lang="en-US">Foreign</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefits" xlink:label="us-gaap_UnrecognizedTaxBenefits" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefits" xlink:to="us-gaap_UnrecognizedTaxBenefits_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UnrecognizedTaxBenefits_lbl" xml:lang="en-US">Unrecognized Tax Benefits</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_UnrecognizedTaxBenefits_lbl" xml:lang="en-US">Balance at December 31</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_UnrecognizedTaxBenefits_lbl" xml:lang="en-US">Balance at January 1</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_UnrecognizedTaxBenefits_lbl" xml:lang="en-US">Reserves for uncertain tax positions</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" xlink:to="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_lbl" xml:lang="en-US">Unrecognized Tax Benefits, Decrease Resulting from Prior Period Tax Positions</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_lbl" xml:lang="en-US">Decrease for prior year tax positions</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions" xlink:to="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions_lbl" xml:lang="en-US">Unrecognized Tax Benefits, Increase Resulting from Prior Period Tax Positions</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions_lbl" xml:lang="en-US">Increase for current year tax positions</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense" xlink:label="us-gaap_UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense" xlink:to="us-gaap_UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense_lbl" xml:lang="en-US">Unrecognized Tax Benefits, Interest on Income Taxes Expense</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense_lbl" xml:lang="en-US">Interest accrual</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_UnrecognizedTaxBenefitsIncreaseDecreasesResultingFromForeignCurrencyTranslation" xlink:label="inod_UnrecognizedTaxBenefitsIncreaseDecreasesResultingFromForeignCurrencyTranslation" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_UnrecognizedTaxBenefitsIncreaseDecreasesResultingFromForeignCurrencyTranslation" xlink:to="inod_UnrecognizedTaxBenefitsIncreaseDecreasesResultingFromForeignCurrencyTranslation_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_UnrecognizedTaxBenefitsIncreaseDecreasesResultingFromForeignCurrencyTranslation_lbl" xml:lang="en-US">Amount of increase decrease in unrecognized tax benefits resulting from foreign currency translation.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_UnrecognizedTaxBenefitsIncreaseDecreasesResultingFromForeignCurrencyTranslation_lbl" xml:lang="en-US">Unrecognized Tax Benefits Increase Decreases Resulting From Foreign Currency Translation</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="inod_UnrecognizedTaxBenefitsIncreaseDecreasesResultingFromForeignCurrencyTranslation_lbl" xml:lang="en-US">Foreign currency remeasurement</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="us-gaap_IncomeTaxAuthorityAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxAuthorityAxis" xlink:to="us-gaap_IncomeTaxAuthorityAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxAuthorityAxis_lbl" xml:lang="en-US">Income Tax Authority [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="us-gaap_IncomeTaxAuthorityDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxAuthorityDomain" xlink:to="us-gaap_IncomeTaxAuthorityDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxAuthorityDomain_lbl" xml:lang="en-US">Income Tax Authority [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DomesticCountryMember" xlink:label="us-gaap_DomesticCountryMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DomesticCountryMember" xlink:to="us-gaap_DomesticCountryMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DomesticCountryMember_lbl" xml:lang="en-US">Domestic Tax Authority [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DomesticCountryMember_lbl" xml:lang="en-US">U.S. federal</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="srt_ConsolidatedEntitiesAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ConsolidatedEntitiesAxis" xlink:to="srt_ConsolidatedEntitiesAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ConsolidatedEntitiesAxis_lbl" xml:lang="en-US">Consolidated Entities [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="srt_ConsolidatedEntitiesDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ConsolidatedEntitiesDomain" xlink:to="srt_ConsolidatedEntitiesDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ConsolidatedEntitiesDomain_lbl" xml:lang="en-US">Consolidated Entities [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_CanadianSubsidiariesMember" xlink:label="inod_CanadianSubsidiariesMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_CanadianSubsidiariesMember" xlink:to="inod_CanadianSubsidiariesMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_CanadianSubsidiariesMember_lbl" xml:lang="en-US">Represents the information of Canadian subsidiaries.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_CanadianSubsidiariesMember_lbl" xml:lang="en-US">Canadian Subsidiaries [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_CanadianSubsidiariesMember_lbl" xml:lang="en-US">Canadian subsidiaries</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_GermanAndUnitedKingdomSubsidiariesMember" xlink:label="inod_GermanAndUnitedKingdomSubsidiariesMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_GermanAndUnitedKingdomSubsidiariesMember" xlink:to="inod_GermanAndUnitedKingdomSubsidiariesMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_GermanAndUnitedKingdomSubsidiariesMember_lbl" xml:lang="en-US">Represents the information of German and United Kingdom subsidiaries.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_GermanAndUnitedKingdomSubsidiariesMember_lbl" xml:lang="en-US">German and United Kingdom Subsidiaries [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_GermanAndUnitedKingdomSubsidiariesMember_lbl" xml:lang="en-US">German and United Kingdom subsidiaries</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount" xlink:label="us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount" xlink:to="us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount_lbl" xml:lang="en-US">Valuation Allowance, Deferred Tax Asset, Increase (Decrease), Amount</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount_lbl" xml:lang="en-US">Increase in total valuation allowance</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLossCarryforwards" xlink:label="us-gaap_OperatingLossCarryforwards" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLossCarryforwards" xlink:to="us-gaap_OperatingLossCarryforwards_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLossCarryforwards_lbl" xml:lang="en-US">Operating Loss Carryforwards</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLossCarryforwards_lbl" xml:lang="en-US">Operating loss carryforwards</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration" xlink:to="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration_lbl" xml:lang="en-US">Deferred Tax Assets, Operating Loss Carryforwards, Subject to Expiration</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration_lbl" xml:lang="en-US">NOL carryforwards subject to expiration</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsNotSubjectToExpiration" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsNotSubjectToExpiration" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsNotSubjectToExpiration" xlink:to="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsNotSubjectToExpiration_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsNotSubjectToExpiration_lbl" xml:lang="en-US">Deferred Tax Assets, Operating Loss Carryforwards, Not Subject to Expiration</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsNotSubjectToExpiration_lbl" xml:lang="en-US">Research and development credits not subject to expiration</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UndistributedEarningsOfForeignSubsidiaries" xlink:label="us-gaap_UndistributedEarningsOfForeignSubsidiaries" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UndistributedEarningsOfForeignSubsidiaries" xlink:to="us-gaap_UndistributedEarningsOfForeignSubsidiaries_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UndistributedEarningsOfForeignSubsidiaries_lbl" xml:lang="en-US">Undistributed Earnings of Foreign Subsidiaries</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_UndistributedEarningsOfForeignSubsidiaries_lbl" xml:lang="en-US">Foreign subsidiaries amount</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_PercentageForSubsidiaryServiceTax" xlink:label="inod_PercentageForSubsidiaryServiceTax" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_PercentageForSubsidiaryServiceTax" xlink:to="inod_PercentageForSubsidiaryServiceTax_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_PercentageForSubsidiaryServiceTax_lbl" xml:lang="en-US">Percentage for subsidiary service tax.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_PercentageForSubsidiaryServiceTax_lbl" xml:lang="en-US">Percentage for Subsidiary Service Tax</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_PercentageForSubsidiaryServiceTax_lbl" xml:lang="en-US">Percentage for subsidiary service tax</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_SubsidiaryRevenue" xlink:label="inod_SubsidiaryRevenue" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_SubsidiaryRevenue" xlink:to="inod_SubsidiaryRevenue_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_SubsidiaryRevenue_lbl" xml:lang="en-US">Represents the value of subsidiary revenue.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_SubsidiaryRevenue_lbl" xml:lang="en-US">Subsidiary Revenue</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_SubsidiaryRevenue_lbl" xml:lang="en-US">Indian subsidiary revenues</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_ReversalOfServiceTaxRefund" xlink:label="inod_ReversalOfServiceTaxRefund" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_ReversalOfServiceTaxRefund" xlink:to="inod_ReversalOfServiceTaxRefund_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_ReversalOfServiceTaxRefund_lbl" xml:lang="en-US">Represents reversal of service tax refund amount.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_ReversalOfServiceTaxRefund_lbl" xml:lang="en-US">Reversal of Service Tax Refund</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_ReversalOfServiceTaxRefund_lbl" xml:lang="en-US">Reversal of service tax refund</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_ServiceTaxCreditReceivable" xlink:label="inod_ServiceTaxCreditReceivable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_ServiceTaxCreditReceivable" xlink:to="inod_ServiceTaxCreditReceivable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_ServiceTaxCreditReceivable_lbl" xml:lang="en-US">Represents the service tax credit receivable.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_ServiceTaxCreditReceivable_lbl" xml:lang="en-US">Service Tax Credit Receivable</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_ServiceTaxCreditReceivable_lbl" xml:lang="en-US">Service tax credit receivable</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentTable" xlink:label="us-gaap_DebtInstrumentTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentTable" xlink:to="us-gaap_DebtInstrumentTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentTable_lbl" xml:lang="en-US">Schedule of Long-term Debt Instruments [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="us-gaap_DebtInstrumentLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentLineItems_lbl" xml:lang="en-US">Debt Instrument [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DebtInstrumentLineItems_lbl" xml:lang="en-US">Long-term obligations</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PostemploymentBenefitsLiabilityCurrentAndNoncurrent" xlink:label="us-gaap_PostemploymentBenefitsLiabilityCurrentAndNoncurrent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PostemploymentBenefitsLiabilityCurrentAndNoncurrent" xlink:to="us-gaap_PostemploymentBenefitsLiabilityCurrentAndNoncurrent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PostemploymentBenefitsLiabilityCurrentAndNoncurrent_lbl" xml:lang="en-US">Postemployment Benefits Liability</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PostemploymentBenefitsLiabilityCurrentAndNoncurrent_lbl" xml:lang="en-US">Pension obligations - accrued pension liability</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_SettlementAgreementObligations" xlink:label="inod_SettlementAgreementObligations" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_SettlementAgreementObligations" xlink:to="inod_SettlementAgreementObligations_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_SettlementAgreementObligations_lbl" xml:lang="en-US">The amount of settlement agreement obligations.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_SettlementAgreementObligations_lbl" xml:lang="en-US">Settlement Agreement Obligations</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_SettlementAgreementObligations_lbl" xml:lang="en-US">Settlement agreement</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_MicrosoftLicensesObligations" xlink:label="inod_MicrosoftLicensesObligations" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_MicrosoftLicensesObligations" xlink:to="inod_MicrosoftLicensesObligations_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_MicrosoftLicensesObligations_lbl" xml:lang="en-US">Amount of Microsoft licenses obligations as of balance sheet date.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_MicrosoftLicensesObligations_lbl" xml:lang="en-US">Microsoft Licenses Obligations</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_MicrosoftLicensesObligations_lbl" xml:lang="en-US">Microsoft licenses</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_TotalLongTermObligations" xlink:label="inod_TotalLongTermObligations" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_TotalLongTermObligations" xlink:to="inod_TotalLongTermObligations_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_TotalLongTermObligations_lbl" xml:lang="en-US">Total amount of long-term obligations of the entity.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_TotalLongTermObligations_lbl" xml:lang="en-US">Total Long-Term Obligations</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="inod_TotalLongTermObligations_lbl" xml:lang="en-US">Total long-term obligations</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_LicensesObligationsAmountPayableAnnually" xlink:label="inod_LicensesObligationsAmountPayableAnnually" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_LicensesObligationsAmountPayableAnnually" xlink:to="inod_LicensesObligationsAmountPayableAnnually_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_LicensesObligationsAmountPayableAnnually_lbl" xml:lang="en-US">Amount payable annually over the term of the license agreement.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_LicensesObligationsAmountPayableAnnually_lbl" xml:lang="en-US">Licenses Obligations, Amount Payable Annually</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_LicensesObligationsAmountPayableAnnually_lbl" xml:lang="en-US">Microsoft licenses, Amount payable annually over the term of the agreement</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LitigationReserve" xlink:label="us-gaap_LitigationReserve" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LitigationReserve" xlink:to="us-gaap_LitigationReserve_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LitigationReserve_lbl" xml:lang="en-US">Estimated Litigation Liability</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LitigationReserve_lbl" xml:lang="en-US">Estimated litigation liability</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_InterestRateDescriptionLitigation" xlink:label="inod_InterestRateDescriptionLitigation" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_InterestRateDescriptionLitigation" xlink:to="inod_InterestRateDescriptionLitigation_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_InterestRateDescriptionLitigation_lbl" xml:lang="en-US">Description of the interest rate relating to Litigation</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_InterestRateDescriptionLitigation_lbl" xml:lang="en-US">Interest Rate Description Litigation</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_InterestRateDescriptionLitigation_lbl" xml:lang="en-US">Interest rate description litigation</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LitigationSettlementExpense" xlink:label="us-gaap_LitigationSettlementExpense" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LitigationSettlementExpense" xlink:to="us-gaap_LitigationSettlementExpense_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LitigationSettlementExpense_lbl" xml:lang="en-US">Litigation Settlement, Expense</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LitigationSettlementExpense_lbl" xml:lang="en-US">Litigation settlement expense</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeLeaseDescriptionTable" xlink:label="us-gaap_LesseeLeaseDescriptionTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeLeaseDescriptionTable" xlink:to="us-gaap_LesseeLeaseDescriptionTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeLeaseDescriptionTable_lbl" xml:lang="en-US">Lessee, Lease, Description [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeLeaseDescriptionLineItems" xlink:label="us-gaap_LesseeLeaseDescriptionLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems" xlink:to="us-gaap_LesseeLeaseDescriptionLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeLeaseDescriptionLineItems_lbl" xml:lang="en-US">Lessee, Lease, Description [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeLeaseDescriptionLineItems_lbl" xml:lang="en-US">Operating Leases</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseTermOfContract" xlink:label="us-gaap_LesseeOperatingLeaseTermOfContract" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseTermOfContract" xlink:to="us-gaap_LesseeOperatingLeaseTermOfContract_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseTermOfContract_lbl" xml:lang="en-US">Lessee, Operating Lease, Term of Contract</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseTermOfContract_lbl" xml:lang="en-US">Lease agreements term</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_PercentageOfRentalEscalations" xlink:label="inod_PercentageOfRentalEscalations" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_PercentageOfRentalEscalations" xlink:to="inod_PercentageOfRentalEscalations_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_PercentageOfRentalEscalations_lbl" xml:lang="en-US">Percentage of rental escalations.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_PercentageOfRentalEscalations_lbl" xml:lang="en-US">Percentage of Rental Escalations</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_PercentageOfRentalEscalations_lbl" xml:lang="en-US">Percentage of rental escalations</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_LongTermOperatingLeaseMember" xlink:label="inod_LongTermOperatingLeaseMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_LongTermOperatingLeaseMember" xlink:to="inod_LongTermOperatingLeaseMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_LongTermOperatingLeaseMember_lbl" xml:lang="en-US">This member represents of long term operating lease.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_LongTermOperatingLeaseMember_lbl" xml:lang="en-US">Long Term Operating Lease [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_LongTermOperatingLeaseMember_lbl" xml:lang="en-US">Long-term operating leases</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_ShortTermOperatingLeaseMember" xlink:label="inod_ShortTermOperatingLeaseMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_ShortTermOperatingLeaseMember" xlink:to="inod_ShortTermOperatingLeaseMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_ShortTermOperatingLeaseMember_lbl" xml:lang="en-US">This member represents of short term operating lease.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_ShortTermOperatingLeaseMember_lbl" xml:lang="en-US">Short Term Operating Lease [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_ShortTermOperatingLeaseMember_lbl" xml:lang="en-US">Short-term operating leases</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseExpense" xlink:label="us-gaap_OperatingLeaseExpense" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseExpense" xlink:to="us-gaap_OperatingLeaseExpense_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseExpense_lbl" xml:lang="en-US">Operating Lease, Expense</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeaseExpense_lbl" xml:lang="en-US">Total rent expense</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_lbl" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Year One</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_lbl" xml:lang="en-US">2024</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_lbl" xml:lang="en-US">Lessee, Operating Lease, Liability, Payments, Due Year Two</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_lbl" xml:lang="en-US">2025</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_lbl" xml:lang="en-US">Lessee, Operating Lease, Liability, Payments, Due Year Three</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_lbl" xml:lang="en-US">2026</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_lbl" xml:lang="en-US">Lessee, Operating Lease, Liability, Payments, Due Year Four</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_lbl" xml:lang="en-US">2027</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_lbl" xml:lang="en-US">Lessee, Operating Lease, Liability, Payments, Due Year Five</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_lbl" xml:lang="en-US">2028</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_LesseeOperatingLeaseLiabilityToBePaidThereafter" xlink:label="inod_LesseeOperatingLeaseLiabilityToBePaidThereafter" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_LesseeOperatingLeaseLiabilityToBePaidThereafter" xlink:to="inod_LesseeOperatingLeaseLiabilityToBePaidThereafter_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_LesseeOperatingLeaseLiabilityToBePaidThereafter_lbl" xml:lang="en-US">Amount of lessee's undiscounted obligation for lease payment for operating lease due thereafter. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_LesseeOperatingLeaseLiabilityToBePaidThereafter_lbl" xml:lang="en-US">Lessee, Operating Lease, Liability, to be Paid, Thereafter</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_LesseeOperatingLeaseLiabilityToBePaidThereafter_lbl" xml:lang="en-US">2029 and thereafter</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_lbl" xml:lang="en-US">Lessee, Operating Lease, Liability, Payments, Due</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_lbl" xml:lang="en-US">Total lease payments</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_lbl" xml:lang="en-US">Lessee, Operating Lease, Liability, Undiscounted Excess Amount</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_lbl" xml:lang="en-US">Less: Interest</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiability" xlink:to="us-gaap_OperatingLeaseLiability_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseLiability_lbl" xml:lang="en-US">Operating Lease, Liability</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_OperatingLeaseLiability_lbl" xml:lang="en-US">Total</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OperatingLeaseLiability_lbl" xml:lang="en-US">Net present value of lease liabilities</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:to="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_lbl" xml:lang="en-US">Operating Lease, Weighted Average Remaining Lease Term</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_lbl" xml:lang="en-US">Weighted-average lease term remaining (in months)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:to="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_lbl" xml:lang="en-US">Operating Lease, Weighted Average Discount Rate, Percent</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_lbl" xml:lang="en-US">Weighted-average discount rate</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanDisclosureLineItems" xlink:label="us-gaap_DefinedBenefitPlanDisclosureLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedBenefitPlanDisclosureLineItems" xlink:to="us-gaap_DefinedBenefitPlanDisclosureLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DefinedBenefitPlanDisclosureLineItems_lbl" xml:lang="en-US">Defined Benefit Plan Disclosure [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DefinedBenefitPlanDisclosureLineItems_lbl" xml:lang="en-US">Pension Benefits</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanBenefitObligation" xlink:label="us-gaap_DefinedBenefitPlanBenefitObligation" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedBenefitPlanBenefitObligation" xlink:to="us-gaap_DefinedBenefitPlanBenefitObligation_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DefinedBenefitPlanBenefitObligation_lbl" xml:lang="en-US">Defined Benefit Plan, Benefit Obligation</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_DefinedBenefitPlanBenefitObligation_lbl" xml:lang="en-US">Projected benefit obligation at end of the year</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_DefinedBenefitPlanBenefitObligation_lbl" xml:lang="en-US">Projected benefit obligation at beginning of the year</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanServiceCost" xlink:label="us-gaap_DefinedBenefitPlanServiceCost" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedBenefitPlanServiceCost" xlink:to="us-gaap_DefinedBenefitPlanServiceCost_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DefinedBenefitPlanServiceCost_lbl" xml:lang="en-US">Defined Benefit Plan, Service Cost</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DefinedBenefitPlanServiceCost_lbl" xml:lang="en-US">Service cost</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanInterestCost" xlink:label="us-gaap_DefinedBenefitPlanInterestCost" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedBenefitPlanInterestCost" xlink:to="us-gaap_DefinedBenefitPlanInterestCost_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DefinedBenefitPlanInterestCost_lbl" xml:lang="en-US">Defined Benefit Plan, Interest Cost</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DefinedBenefitPlanInterestCost_lbl" xml:lang="en-US">Interest cost</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanNetPeriodicBenefitCostCreditInterestCostStatementOfIncomeOrComprehensiveIncomeExtensibleList" xlink:label="us-gaap_DefinedBenefitPlanNetPeriodicBenefitCostCreditInterestCostStatementOfIncomeOrComprehensiveIncomeExtensibleList" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedBenefitPlanNetPeriodicBenefitCostCreditInterestCostStatementOfIncomeOrComprehensiveIncomeExtensibleList" xlink:to="us-gaap_DefinedBenefitPlanNetPeriodicBenefitCostCreditInterestCostStatementOfIncomeOrComprehensiveIncomeExtensibleList_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DefinedBenefitPlanNetPeriodicBenefitCostCreditInterestCostStatementOfIncomeOrComprehensiveIncomeExtensibleList_lbl" xml:lang="en-US">Defined Benefit Plan, Net Periodic Benefit Cost (Credit), Interest Cost, Statement of Income or Comprehensive Income [Extensible Enumeration]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DefinedBenefitPlanNetPeriodicBenefitCostCreditInterestCostStatementOfIncomeOrComprehensiveIncomeExtensibleList_lbl" xml:lang="en-US">Defined Benefit Plan, Net Periodic Benefit Cost (Credit), Interest Cost, Statement of Income or Comprehensive Income [Extensible Enumeration]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanActuarialGainLoss" xlink:label="us-gaap_DefinedBenefitPlanActuarialGainLoss" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedBenefitPlanActuarialGainLoss" xlink:to="us-gaap_DefinedBenefitPlanActuarialGainLoss_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DefinedBenefitPlanActuarialGainLoss_lbl" xml:lang="en-US">Defined Benefit Plan, Benefit Obligation, Actuarial Gain (Loss)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_DefinedBenefitPlanActuarialGainLoss_lbl" xml:lang="en-US">Actuarial loss (gain)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanPlanAssetsForeignCurrencyTranslationGainLoss" xlink:label="us-gaap_DefinedBenefitPlanPlanAssetsForeignCurrencyTranslationGainLoss" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedBenefitPlanPlanAssetsForeignCurrencyTranslationGainLoss" xlink:to="us-gaap_DefinedBenefitPlanPlanAssetsForeignCurrencyTranslationGainLoss_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DefinedBenefitPlanPlanAssetsForeignCurrencyTranslationGainLoss_lbl" xml:lang="en-US">Defined Benefit Plan, Plan Assets, Foreign Currency Translation Gain (Loss)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DefinedBenefitPlanPlanAssetsForeignCurrencyTranslationGainLoss_lbl" xml:lang="en-US">Foreign currency exchange rates changes</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanCurtailments" xlink:label="us-gaap_DefinedBenefitPlanCurtailments" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedBenefitPlanCurtailments" xlink:to="us-gaap_DefinedBenefitPlanCurtailments_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DefinedBenefitPlanCurtailments_lbl" xml:lang="en-US">Defined Benefit Plan, Benefit Obligation, (Increase) Decrease for Curtailment</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DefinedBenefitPlanCurtailments_lbl" xml:lang="en-US">Curtailment</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanBenefitObligationBenefitsPaid" xlink:label="us-gaap_DefinedBenefitPlanBenefitObligationBenefitsPaid" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedBenefitPlanBenefitObligationBenefitsPaid" xlink:to="us-gaap_DefinedBenefitPlanBenefitObligationBenefitsPaid_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DefinedBenefitPlanBenefitObligationBenefitsPaid_lbl" xml:lang="en-US">Defined Benefit Plan, Benefit Obligation, Benefits Paid</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_DefinedBenefitPlanBenefitObligationBenefitsPaid_lbl" xml:lang="en-US">Benefits paid</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanRecognizedNetGainLossDueToCurtailments" xlink:label="us-gaap_DefinedBenefitPlanRecognizedNetGainLossDueToCurtailments" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedBenefitPlanRecognizedNetGainLossDueToCurtailments" xlink:to="us-gaap_DefinedBenefitPlanRecognizedNetGainLossDueToCurtailments_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DefinedBenefitPlanRecognizedNetGainLossDueToCurtailments_lbl" xml:lang="en-US">Defined Benefit Plan, Net Periodic Benefit Cost (Credit), Gain (Loss) Due to Curtailment</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_DefinedBenefitPlanRecognizedNetGainLossDueToCurtailments_lbl" xml:lang="en-US">Curtailment</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanActuarialGainLossImmediateRecognitionAsComponentInNetPeriodicBenefitCostCredit" xlink:label="us-gaap_DefinedBenefitPlanActuarialGainLossImmediateRecognitionAsComponentInNetPeriodicBenefitCostCredit" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedBenefitPlanActuarialGainLossImmediateRecognitionAsComponentInNetPeriodicBenefitCostCredit" xlink:to="us-gaap_DefinedBenefitPlanActuarialGainLossImmediateRecognitionAsComponentInNetPeriodicBenefitCostCredit_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DefinedBenefitPlanActuarialGainLossImmediateRecognitionAsComponentInNetPeriodicBenefitCostCredit_lbl" xml:lang="en-US">Defined Benefit Plan, Actuarial Gain (Loss), Immediate Recognition as Component in Net Periodic Benefit (Cost) Credit</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_DefinedBenefitPlanActuarialGainLossImmediateRecognitionAsComponentInNetPeriodicBenefitCostCredit_lbl" xml:lang="en-US">Actuarial loss recognized</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanNetPeriodicBenefitCostCreditImmediateRecognitionOfActuarialGainLossStatementOfIncomeOrComprehensiveIncomeExtensibleList" xlink:label="us-gaap_DefinedBenefitPlanNetPeriodicBenefitCostCreditImmediateRecognitionOfActuarialGainLossStatementOfIncomeOrComprehensiveIncomeExtensibleList" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedBenefitPlanNetPeriodicBenefitCostCreditImmediateRecognitionOfActuarialGainLossStatementOfIncomeOrComprehensiveIncomeExtensibleList" xlink:to="us-gaap_DefinedBenefitPlanNetPeriodicBenefitCostCreditImmediateRecognitionOfActuarialGainLossStatementOfIncomeOrComprehensiveIncomeExtensibleList_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DefinedBenefitPlanNetPeriodicBenefitCostCreditImmediateRecognitionOfActuarialGainLossStatementOfIncomeOrComprehensiveIncomeExtensibleList_lbl" xml:lang="en-US">Defined Benefit Plan, Net Periodic Benefit (Cost) Credit, Immediate Recognition of Actuarial Gain (Loss), Statement of Income or Comprehensive Income [Extensible Enumeration]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost" xlink:label="us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost" xlink:to="us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost_lbl" xml:lang="en-US">Defined Benefit Plan, Net Periodic Benefit Cost (Credit)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost_lbl" xml:lang="en-US">Net periodic pension cost</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities" xlink:label="us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities" xlink:to="us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities_lbl" xml:lang="en-US">Liability, Defined Benefit Plan, Current</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities_lbl" xml:lang="en-US">Current accrued benefit cost</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent" xlink:label="us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent" xlink:to="us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent_lbl" xml:lang="en-US">Liability, Defined Benefit Plan, Noncurrent</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent_lbl" xml:lang="en-US">Non-current accrued benefit cost</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesCurrentAndNoncurrent" xlink:label="us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesCurrentAndNoncurrent" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesCurrentAndNoncurrent" xlink:to="us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesCurrentAndNoncurrent_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesCurrentAndNoncurrent_lbl" xml:lang="en-US">Liability, Defined Benefit Plan</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesCurrentAndNoncurrent_lbl" xml:lang="en-US">Total amount recognized</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable" xlink:label="us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable" xlink:to="us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_lbl" xml:lang="en-US">Schedule of Defined Benefit Plans Disclosures [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate" xlink:label="us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate" xlink:to="us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate_lbl" xml:lang="en-US">Defined Benefit Plan, Assumptions Used Calculating Benefit Obligation, Discount Rate</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate_lbl" xml:lang="en-US">Discount rate</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationRateOfCompensationIncrease" xlink:label="us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationRateOfCompensationIncrease" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationRateOfCompensationIncrease" xlink:to="us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationRateOfCompensationIncrease_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationRateOfCompensationIncrease_lbl" xml:lang="en-US">Defined Benefit Plan, Assumptions Used Calculating Benefit Obligation, Rate of Compensation Increase</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationRateOfCompensationIncrease_lbl" xml:lang="en-US">Rate of increase in compensation level</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths" xlink:label="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths" xlink:to="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths_lbl" xml:lang="en-US">Defined Benefit Plan, Expected Future Benefit Payment, Next Twelve Months</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths_lbl" xml:lang="en-US">2024</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearTwo" xlink:label="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearTwo" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearTwo" xlink:to="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearTwo_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearTwo_lbl" xml:lang="en-US">Defined Benefit Plan, Expected Future Benefit Payment, Year Two</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearTwo_lbl" xml:lang="en-US">2025</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearThree" xlink:label="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearThree" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearThree" xlink:to="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearThree_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearThree_lbl" xml:lang="en-US">Defined Benefit Plan, Expected Future Benefit Payment, Year Three</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearThree_lbl" xml:lang="en-US">2026</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFour" xlink:label="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFour" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFour" xlink:to="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFour_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFour_lbl" xml:lang="en-US">Defined Benefit Plan, Expected Future Benefit Payment, Year Four</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFour_lbl" xml:lang="en-US">2027</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFive" xlink:label="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFive" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFive" xlink:to="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFive_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFive_lbl" xml:lang="en-US">Defined Benefit Plan, Expected Future Benefit Payment, Year Five</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFive_lbl" xml:lang="en-US">2028</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_DefinedBenefitPlanExpectedFutureBenefitPaymentYearSixToYearNine" xlink:label="inod_DefinedBenefitPlanExpectedFutureBenefitPaymentYearSixToYearNine" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_DefinedBenefitPlanExpectedFutureBenefitPaymentYearSixToYearNine" xlink:to="inod_DefinedBenefitPlanExpectedFutureBenefitPaymentYearSixToYearNine_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_DefinedBenefitPlanExpectedFutureBenefitPaymentYearSixToYearNine_lbl" xml:lang="en-US">Amount of benefit for defined benefit plan expected to be paid in sixth fiscal year to ninth fiscal year following current fiscal year.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_DefinedBenefitPlanExpectedFutureBenefitPaymentYearSixToYearNine_lbl" xml:lang="en-US">Defined Benefit Plan, Expected Future Benefit Payment, Year Six to Year Nine</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_DefinedBenefitPlanExpectedFutureBenefitPaymentYearSixToYearNine_lbl" xml:lang="en-US">2029 to 2032</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_DefinedBenefitPlanExpectedFutureBenefitPayments" xlink:label="inod_DefinedBenefitPlanExpectedFutureBenefitPayments" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_DefinedBenefitPlanExpectedFutureBenefitPayments" xlink:to="inod_DefinedBenefitPlanExpectedFutureBenefitPayments_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_DefinedBenefitPlanExpectedFutureBenefitPayments_lbl" xml:lang="en-US">Amount of estimated future benefit payments for defined benefit plan.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_DefinedBenefitPlanExpectedFutureBenefitPayments_lbl" xml:lang="en-US">Defined Benefit Plan Expected Future Benefit Payments</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="inod_DefinedBenefitPlanExpectedFutureBenefitPayments_lbl" xml:lang="en-US">Total</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:to="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_lbl" xml:lang="en-US">Related Party [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyDomain" xlink:label="us-gaap_RelatedPartyDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyDomain" xlink:to="us-gaap_RelatedPartyDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RelatedPartyDomain_lbl" xml:lang="en-US">Related Party [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SubsidiariesMember" xlink:label="srt_SubsidiariesMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_SubsidiariesMember" xlink:to="srt_SubsidiariesMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_SubsidiariesMember_lbl" xml:lang="en-US">Subsidiaries [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="srt_SubsidiariesMember_lbl" xml:lang="en-US">Subsidiaries</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_DefinedContributionPensionPlanPeriodOfServiceToBecomeEligible" xlink:label="inod_DefinedContributionPensionPlanPeriodOfServiceToBecomeEligible" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_DefinedContributionPensionPlanPeriodOfServiceToBecomeEligible" xlink:to="inod_DefinedContributionPensionPlanPeriodOfServiceToBecomeEligible_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_DefinedContributionPensionPlanPeriodOfServiceToBecomeEligible_lbl" xml:lang="en-US">The period of service by substantially all of its U.S. employees to become eligible for the U.S. Defined Contribution Pension Plan.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_DefinedContributionPensionPlanPeriodOfServiceToBecomeEligible_lbl" xml:lang="en-US">Defined Contribution Pension Plan Period Of Service To Become Eligible</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_DefinedContributionPensionPlanPeriodOfServiceToBecomeEligible_lbl" xml:lang="en-US">Period of service to become eligible</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PensionExpense" xlink:label="us-gaap_PensionExpense" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PensionExpense" xlink:to="us-gaap_PensionExpense_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PensionExpense_lbl" xml:lang="en-US">Pension Cost (Reversal of Cost)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PensionExpense_lbl" xml:lang="en-US">Pension expense</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanAccumulatedBenefitObligation" xlink:label="us-gaap_DefinedBenefitPlanAccumulatedBenefitObligation" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DefinedBenefitPlanAccumulatedBenefitObligation" xlink:to="us-gaap_DefinedBenefitPlanAccumulatedBenefitObligation_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DefinedBenefitPlanAccumulatedBenefitObligation_lbl" xml:lang="en-US">Defined Benefit Plan, Accumulated Benefit Obligation</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DefinedBenefitPlanAccumulatedBenefitObligation_lbl" xml:lang="en-US">Accumulated benefit obligation</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfStockByClassTable" xlink:label="us-gaap_ScheduleOfStockByClassTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfStockByClassTable" xlink:to="us-gaap_ScheduleOfStockByClassTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfStockByClassTable_lbl" xml:lang="en-US">Schedule of Stock by Class [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_July2019Member" xlink:label="inod_July2019Member" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_July2019Member" xlink:to="inod_July2019Member_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_July2019Member_lbl" xml:lang="en-US">This member stands for repurchased share under the July 2019 authorization.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_July2019Member_lbl" xml:lang="en-US">July 2019 [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_July2019Member_lbl" xml:lang="en-US">July 2019</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockLineItems" xlink:label="us-gaap_ClassOfStockLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ClassOfStockLineItems" xlink:to="us-gaap_ClassOfStockLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ClassOfStockLineItems_lbl" xml:lang="en-US">Class of Stock [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ClassOfStockLineItems_lbl" xml:lang="en-US">Capital Stock</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_NumberOfVotesForEachShareOfCommonStock" xlink:label="inod_NumberOfVotesForEachShareOfCommonStock" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_NumberOfVotesForEachShareOfCommonStock" xlink:to="inod_NumberOfVotesForEachShareOfCommonStock_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_NumberOfVotesForEachShareOfCommonStock_lbl" xml:lang="en-US">Represents the number of votes for each share of common stock of the entity.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_NumberOfVotesForEachShareOfCommonStock_lbl" xml:lang="en-US">Number Of Votes For Each Share Of Common Stock</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_NumberOfVotesForEachShareOfCommonStock_lbl" xml:lang="en-US">Number of votes per share</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockDividendsPerShareDeclared" xlink:label="us-gaap_CommonStockDividendsPerShareDeclared" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockDividendsPerShareDeclared" xlink:to="us-gaap_CommonStockDividendsPerShareDeclared_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockDividendsPerShareDeclared_lbl" xml:lang="en-US">Common Stock, Dividends, Per Share, Declared</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommonStockDividendsPerShareDeclared_lbl" xml:lang="en-US">Dividends declared (in dollars per share)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" xlink:label="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" xlink:to="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance_lbl" xml:lang="en-US">Common Stock, Capital Shares Reserved for Future Issuance</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance_lbl" xml:lang="en-US">Common stock reserved available for future issuance</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchaseProgramAuthorizedAmount1" xlink:label="us-gaap_StockRepurchaseProgramAuthorizedAmount1" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockRepurchaseProgramAuthorizedAmount1" xlink:to="us-gaap_StockRepurchaseProgramAuthorizedAmount1_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockRepurchaseProgramAuthorizedAmount1_lbl" xml:lang="en-US">Stock Repurchase Program, Authorized Amount</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockRepurchaseProgramAuthorizedAmount1_lbl" xml:lang="en-US">Shares authorized to repurchase</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchasedDuringPeriodShares" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockRepurchasedDuringPeriodShares" xlink:to="us-gaap_StockRepurchasedDuringPeriodShares_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares_lbl" xml:lang="en-US">Stock Repurchased During Period, Shares</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares_lbl" xml:lang="en-US">Purchase of treasury stock (in shares)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonValue" xlink:label="us-gaap_TreasuryStockCommonValue" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockCommonValue" xlink:to="us-gaap_TreasuryStockCommonValue_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TreasuryStockCommonValue_lbl" xml:lang="en-US">Treasury Stock, Common, Value</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_TreasuryStockCommonValue_lbl" xml:lang="en-US">Treasury Stock, common value</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_lbl" xml:lang="en-US">Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_lbl" xml:lang="en-US">Stock Options</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Weighted average fair value of options granted (in dollars per share)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Risk Free Interest Rate</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_lbl" xml:lang="en-US">Risk-free interest rate</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Term</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_lbl" xml:lang="en-US">Expected term (years)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Volatility Rate</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_lbl" xml:lang="en-US">Expected volatility factor</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Dividend Rate</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_lbl" xml:lang="en-US">Expected dividends</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OptionIndexedToIssuersEquityEquityAxis" xlink:label="us-gaap_OptionIndexedToIssuersEquityEquityAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OptionIndexedToIssuersEquityEquityAxis" xlink:to="us-gaap_OptionIndexedToIssuersEquityEquityAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OptionIndexedToIssuersEquityEquityAxis_lbl" xml:lang="en-US">Option Indexed to Issuer's Equity [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OptionIndexedToIssuersEquityTypeDomain" xlink:label="us-gaap_OptionIndexedToIssuersEquityTypeDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OptionIndexedToIssuersEquityTypeDomain" xlink:to="us-gaap_OptionIndexedToIssuersEquityTypeDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OptionIndexedToIssuersEquityTypeDomain_lbl" xml:lang="en-US">Option Indexed to Issuers Equity, Type [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualAxis" xlink:label="srt_TitleOfIndividualAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_TitleOfIndividualAxis" xlink:to="srt_TitleOfIndividualAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_TitleOfIndividualAxis_lbl" xml:lang="en-US">Title of Individual [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain_lbl" xml:lang="en-US">Relationship to Entity [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_DirectorMember" xlink:label="srt_DirectorMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_DirectorMember" xlink:to="srt_DirectorMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_DirectorMember_lbl" xml:lang="en-US">Non Employee Director [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="srt_DirectorMember_lbl" xml:lang="en-US">Non employee director</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_TwoThousandThirteenStockPlanMember" xlink:label="inod_TwoThousandThirteenStockPlanMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_TwoThousandThirteenStockPlanMember" xlink:to="inod_TwoThousandThirteenStockPlanMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_TwoThousandThirteenStockPlanMember_lbl" xml:lang="en-US">Represents Information regarding stock plan.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_TwoThousandThirteenStockPlanMember_lbl" xml:lang="en-US">2013 Stock Plan [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_TwoThousandThirteenStockPlanMember_lbl" xml:lang="en-US">2013 Stock Plan</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="inod_TwoThousandThirteenStockPlanMember_lbl" xml:lang="en-US">2013 Stock Plan</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_TwoThousandTwentyOneEquityCompensationPlanMember" xlink:label="inod_TwoThousandTwentyOneEquityCompensationPlanMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_TwoThousandTwentyOneEquityCompensationPlanMember" xlink:to="inod_TwoThousandTwentyOneEquityCompensationPlanMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_TwoThousandTwentyOneEquityCompensationPlanMember_lbl" xml:lang="en-US">Represents the information pertaining to 2021 Equity Compensation Plan.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_TwoThousandTwentyOneEquityCompensationPlanMember_lbl" xml:lang="en-US">2021 Stock Plan [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_TwoThousandTwentyOneEquityCompensationPlanMember_lbl" xml:lang="en-US">2021 Stock Plan</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="inod_TwoThousandTwentyOneEquityCompensationPlanMember_lbl" xml:lang="en-US">2021 Stock Plan</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl" xml:lang="en-US">Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Outstanding, Number</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl" xml:lang="en-US">Number of Options, Outstanding - Ending balance (in shares)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl" xml:lang="en-US">Number of Options, Outstanding - Beginning balance (in shares)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_lbl" xml:lang="en-US">Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Grants In Period, Net Of Forfeitures</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_lbl" xml:lang="en-US">Number of Options, Granted (in shares)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_lbl" xml:lang="en-US">Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Forfeitures and Expirations In Period</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_lbl" xml:lang="en-US">Number of Options, Forfeited/Expired (in shares)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_lbl" xml:lang="en-US">Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Exercisable, Number</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_lbl" xml:lang="en-US">Number of Options Exercisable (in shares)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_lbl" xml:lang="en-US">Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Vested and Expected To Vest, Outstanding, Number</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_lbl" xml:lang="en-US">Number of Options, Vested and Expected to Vest (in shares)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl" xml:lang="en-US">Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted Average Exercise Price Outstanding Ending balance (in dollars per shares)</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted Average Exercise Price Outstanding beginning balance (in dollars per shares)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_lbl" xml:lang="en-US">Share-Based Compensation Arrangements By Share-Based Payment Award, Options, Grants In Period, Weighted Average Exercise Price</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted Average Exercise Price Granted (in dollars per shares)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_lbl" xml:lang="en-US">Share-Based Compensation Arrangements By Share-Based Payment Award, Options, Exercises In Period, Weighted Average Exercise Price</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted Average Exercise Price Exercised (in dollars per shares)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_lbl" xml:lang="en-US">Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Forfeitures and Expirations In Period, Weighted Average Exercise Price</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted Average Exercise Price Forfeited/Expired (in dollars per shares)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_lbl" xml:lang="en-US">Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Exercisable, Weighted Average Exercise Price</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted Average Exercise Price Exercisable (in dollars per shares)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_lbl" xml:lang="en-US">Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Vested and Expected To Vest, Outstanding, Weighted Average Exercise Price</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_lbl" xml:lang="en-US">Weighted Average Exercise Price Vested and Expected to Vest (in dollars per shares)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_lbl" xml:lang="en-US">Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_lbl" xml:lang="en-US">Weighted Average Remaining Contractual Term Outstanding (in years)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_lbl" xml:lang="en-US">Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Exercisable, Weighted Average Remaining Contractual Term</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_lbl" xml:lang="en-US">Weighted Average Remaining Contractual Term Exercisable (in years)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_lbl" xml:lang="en-US">Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Vested and Expected To Vest, Outstanding, Weighted Average Remaining Contractual Term</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_lbl" xml:lang="en-US">Weighted Average Remaining Contractual Term Vested and Expected to Vest (in years)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_lbl" xml:lang="en-US">Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Outstanding, Intrinsic Value</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_lbl" xml:lang="en-US">Aggregate Intrinsic Value, Outstanding</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_lbl" xml:lang="en-US">Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Exercisable, Intrinsic Value</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_lbl" xml:lang="en-US">Aggregate Intrinsic Value, Exercisable</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_lbl" xml:lang="en-US">Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Vested and Expected To Vest, Outstanding, Aggregate Intrinsic Value</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_lbl" xml:lang="en-US">Aggregate Intrinsic Value, Vested and Expected to Vest</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_lbl" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_lbl" xml:lang="en-US">Stock options vesting period</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_lbl" xml:lang="en-US">Number of Restricted Stock Units, Unvested at End of the year</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_lbl" xml:lang="en-US">Number of Restricted Stock Units, Unvested at Beginning of the year</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_lbl" xml:lang="en-US">Number of Restricted Stock Units, Granted</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Weighted-Average Grant Date Fair Value, Outstanding at End of the year</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Weighted-Average Grant Date Fair Value, Outstanding at Beginning of the year</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" xml:lang="en-US">Weighted-Average Grant Date Fair Value, Granted</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_TwoThousandTwentyOneEquityCompensationPlanOtherMember" xlink:label="inod_TwoThousandTwentyOneEquityCompensationPlanOtherMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_TwoThousandTwentyOneEquityCompensationPlanOtherMember" xlink:to="inod_TwoThousandTwentyOneEquityCompensationPlanOtherMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_TwoThousandTwentyOneEquityCompensationPlanOtherMember_lbl" xml:lang="en-US">Represents the information pertaining to other type of 2021 Equity Compensation Plan.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_TwoThousandTwentyOneEquityCompensationPlanOtherMember_lbl" xml:lang="en-US">Two Thousand Twenty One Equity Compensation Plan, Other [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_TwoThousandTwentyOneEquityCompensationPlanOtherMember_lbl" xml:lang="en-US">Other type of award</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_AwardsGrantedPriorToApril112022Member" xlink:label="inod_AwardsGrantedPriorToApril112022Member" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_AwardsGrantedPriorToApril112022Member" xlink:to="inod_AwardsGrantedPriorToApril112022Member_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_AwardsGrantedPriorToApril112022Member_lbl" xml:lang="en-US">Represents the information pertaining to awards granted prior to April 11, 2022.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_AwardsGrantedPriorToApril112022Member_lbl" xml:lang="en-US">Awards Granted Prior to April 11, 2022 [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_AwardsGrantedPriorToApril112022Member_lbl" xml:lang="en-US">Awards granted prior to April 11, 2022</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_AwardsGrantedOnOrAfterApril112022Member" xlink:label="inod_AwardsGrantedOnOrAfterApril112022Member" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_AwardsGrantedOnOrAfterApril112022Member" xlink:to="inod_AwardsGrantedOnOrAfterApril112022Member_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_AwardsGrantedOnOrAfterApril112022Member_lbl" xml:lang="en-US">Represents the information pertaining to awards granted on or after April 11, 2022.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_AwardsGrantedOnOrAfterApril112022Member_lbl" xml:lang="en-US">Awards Granted On or After April 11, 2022 [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_AwardsGrantedOnOrAfterApril112022Member_lbl" xml:lang="en-US">Awards granted on or after April 11, 2022</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesUnderlyingOutstandingOptionsOrRights" xlink:label="inod_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesUnderlyingOutstandingOptionsOrRights" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesUnderlyingOutstandingOptionsOrRights" xlink:to="inod_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesUnderlyingOutstandingOptionsOrRights_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesUnderlyingOutstandingOptionsOrRights_lbl" xml:lang="en-US">Number of shares of our common stock underlying outstanding options or rights under share-based payment arrangement.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesUnderlyingOutstandingOptionsOrRights_lbl" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Underlying Outstanding Options or Rights</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesUnderlyingOutstandingOptionsOrRights_lbl" xml:lang="en-US">Shares of common stock underlying outstanding options or rights</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_lbl" xml:lang="en-US">Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Authorized</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_lbl" xml:lang="en-US">Share-based compensation arrangement by share-based payment award, number of shares authorized</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_ReservationOfSharesSubjectToOptionOrStockAppreciationRightsGrantedRatio" xlink:label="inod_ReservationOfSharesSubjectToOptionOrStockAppreciationRightsGrantedRatio" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_ReservationOfSharesSubjectToOptionOrStockAppreciationRightsGrantedRatio" xlink:to="inod_ReservationOfSharesSubjectToOptionOrStockAppreciationRightsGrantedRatio_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_ReservationOfSharesSubjectToOptionOrStockAppreciationRightsGrantedRatio_lbl" xml:lang="en-US">Represents the ratio of shares reserved subject to an option or stock appreciation right granted under award plan.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_ReservationOfSharesSubjectToOptionOrStockAppreciationRightsGrantedRatio_lbl" xml:lang="en-US">Reservation of Shares Subject to Option or Stock Appreciation Rights Granted, Ratio</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_ReservationOfSharesSubjectToOptionOrStockAppreciationRightsGrantedRatio_lbl" xml:lang="en-US">Share reserve ratio</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_NumberOfSharesEligibleToReceiveForEachFullyVestedRsu" xlink:label="inod_NumberOfSharesEligibleToReceiveForEachFullyVestedRsu" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_NumberOfSharesEligibleToReceiveForEachFullyVestedRsu" xlink:to="inod_NumberOfSharesEligibleToReceiveForEachFullyVestedRsu_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_NumberOfSharesEligibleToReceiveForEachFullyVestedRsu_lbl" xml:lang="en-US">Represents number of shares eligible to receive for each fully vested RSU.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_NumberOfSharesEligibleToReceiveForEachFullyVestedRsu_lbl" xml:lang="en-US">Number Of Shares Eligible To Receive For Each Fully Vested RSU</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_NumberOfSharesEligibleToReceiveForEachFullyVestedRsu_lbl" xml:lang="en-US">Number of shares eligible to receive for each fully vested RSU</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_lbl" xml:lang="en-US">Employee Service Share-Based Compensation, Nonvested Awards, Total Compensation Cost Not Yet Recognized</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_lbl" xml:lang="en-US">Compensation cost related to non-vested stock options and restricted stock awards not yet recognized</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_lbl" xml:lang="en-US">Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized, Period for Recognition</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_lbl" xml:lang="en-US">Weighted-average period over which compensation cost recognized</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_lbl" xml:lang="en-US">Accumulated Other Comprehensive Income (Loss) [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember" xlink:label="us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember" xlink:to="us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_lbl" xml:lang="en-US">Accumulated Defined Benefit Plans Adjustment Attributable to Parent [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_lbl" xml:lang="en-US">Pension Liability Adjustment</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember" xlink:label="us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember" xlink:to="us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_lbl" xml:lang="en-US">Accumulated Gain (Loss), Net, Cash Flow Hedge, Parent [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_lbl" xml:lang="en-US">Fair Value of Derivatives</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedTranslationAdjustmentMember" xlink:label="us-gaap_AccumulatedTranslationAdjustmentMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedTranslationAdjustmentMember" xlink:to="us-gaap_AccumulatedTranslationAdjustmentMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccumulatedTranslationAdjustmentMember_lbl" xml:lang="en-US">Accumulated Foreign Currency Adjustment Attributable to Parent [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccumulatedTranslationAdjustmentMember_lbl" xml:lang="en-US">Foreign Currency Translation Adjustment</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_lbl" xml:lang="en-US">Accumulated Other Comprehensive Income (Loss) [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_lbl" xml:lang="en-US">Comprehensive loss</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax_lbl" xml:lang="en-US">Other Comprehensive Income (Loss), before Reclassifications, Net of Tax</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax_lbl" xml:lang="en-US">Other comprehensive income (loss) before reclassifications, net of taxes</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" xlink:label="inod_TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" xlink:to="inod_TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax_lbl" xml:lang="en-US">Total after tax and before reclassification adjustments of other comprehensive income (loss).</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax_lbl" xml:lang="en-US">Total Other Comprehensive Income (Loss) Before Reclassifications, Net Of Tax</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax_lbl" xml:lang="en-US">Total other comprehensive loss before reclassifications, net of taxes</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax" xlink:label="us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax" xlink:to="us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax_lbl" xml:lang="en-US">Reclassification from Accumulated Other Comprehensive Income, Current Period, Net of Tax</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax_lbl" xml:lang="en-US">Net amount reclassified to earnings</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_lbl" xml:lang="en-US">Schedule of Segment Reporting Information, by Segment [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="us-gaap_StatementBusinessSegmentsAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementBusinessSegmentsAxis_lbl" xml:lang="en-US">Business Segments [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentDomain" xlink:to="us-gaap_SegmentDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SegmentDomain_lbl" xml:lang="en-US">Segment [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_DdsMember" xlink:label="inod_DdsMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_DdsMember" xlink:to="inod_DdsMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_DdsMember_lbl" xml:lang="en-US">It represents information pertaining to Digital Data Solutions (DDS) segment.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_DdsMember_lbl" xml:lang="en-US">DDS [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_DdsMember_lbl" xml:lang="en-US">DDS</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_SynodexMember" xlink:label="inod_SynodexMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_SynodexMember" xlink:to="inod_SynodexMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_SynodexMember_lbl" xml:lang="en-US">It represents information pertaining to Synodex segment.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_SynodexMember_lbl" xml:lang="en-US">Synodex [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="inod_SynodexMember_lbl" xml:lang="en-US">Synodex</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_AgilityMember" xlink:label="inod_AgilityMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_AgilityMember" xlink:to="inod_AgilityMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_AgilityMember_lbl" xml:lang="en-US">It represents information pertaining to Agility segment.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_AgilityMember_lbl" xml:lang="en-US">Agility [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_AgilityMember_lbl" xml:lang="en-US">Agility</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsegmentsConsolidationItemsAxis" xlink:label="us-gaap_SubsegmentsConsolidationItemsAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsegmentsConsolidationItemsAxis" xlink:to="us-gaap_SubsegmentsConsolidationItemsAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsegmentsConsolidationItemsAxis_lbl" xml:lang="en-US">Subsegments Consolidation Items [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsegmentsConsolidationItemsDomain" xlink:label="us-gaap_SubsegmentsConsolidationItemsDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsegmentsConsolidationItemsDomain" xlink:to="us-gaap_SubsegmentsConsolidationItemsDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsegmentsConsolidationItemsDomain_lbl" xml:lang="en-US">Subsegments Consolidation Items [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_BeforeIntersegmentEliminationsMember" xlink:label="inod_BeforeIntersegmentEliminationsMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_BeforeIntersegmentEliminationsMember" xlink:to="inod_BeforeIntersegmentEliminationsMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_BeforeIntersegmentEliminationsMember_lbl" xml:lang="en-US">It represents information pertaining to before elimination of any inter-segment profits segment.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_BeforeIntersegmentEliminationsMember_lbl" xml:lang="en-US">Before Intersegment Eliminations [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_BeforeIntersegmentEliminationsMember_lbl" xml:lang="en-US">Before intersegment eliminations</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_AfterIntersegmentEliminationsMember" xlink:label="inod_AfterIntersegmentEliminationsMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_AfterIntersegmentEliminationsMember" xlink:to="inod_AfterIntersegmentEliminationsMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_AfterIntersegmentEliminationsMember_lbl" xml:lang="en-US">It represents information pertaining to after elimination of any inter-segment profits segment.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_AfterIntersegmentEliminationsMember_lbl" xml:lang="en-US">After Intersegment Eliminations [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_AfterIntersegmentEliminationsMember_lbl" xml:lang="en-US">After intersegment eliminations</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ConsolidationItemsAxis" xlink:label="srt_ConsolidationItemsAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ConsolidationItemsAxis" xlink:to="srt_ConsolidationItemsAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ConsolidationItemsAxis_lbl" xml:lang="en-US">Consolidation Items [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ConsolidationItemsDomain" xlink:label="srt_ConsolidationItemsDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ConsolidationItemsDomain" xlink:to="srt_ConsolidationItemsDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ConsolidationItemsDomain_lbl" xml:lang="en-US">Consolidation Items [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingSegmentsMember" xlink:label="us-gaap_OperatingSegmentsMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingSegmentsMember" xlink:to="us-gaap_OperatingSegmentsMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingSegmentsMember_lbl" xml:lang="en-US">Operating Segments [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingSegmentsMember_lbl" xml:lang="en-US">Operating Segments</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingInformationLineItems" xlink:label="us-gaap_SegmentReportingInformationLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentReportingInformationLineItems" xlink:to="us-gaap_SegmentReportingInformationLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SegmentReportingInformationLineItems_lbl" xml:lang="en-US">Segment Reporting Information [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_SegmentReportingInformationLineItems_lbl" xml:lang="en-US">Segment reporting and concentrations</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:label="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:to="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_lbl" xml:lang="en-US">Schedule of Revenues from External Customers and Long-Lived Assets [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_CA" xlink:label="country_CA" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_CA" xlink:to="country_CA_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_CA_lbl" xml:lang="en-US">CANADA</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="country_CA_lbl" xml:lang="en-US">Canada</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_GB" xlink:label="country_GB" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_GB" xlink:to="country_GB_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_GB_lbl" xml:lang="en-US">UNITED KINGDOM</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="country_GB_lbl" xml:lang="en-US">United Kingdom</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_PH" xlink:label="country_PH" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_PH" xlink:to="country_PH_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_PH_lbl" xml:lang="en-US">PHILIPPINES</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="country_PH_lbl" xml:lang="en-US">Philippines</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_IN" xlink:label="country_IN" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_IN" xlink:to="country_IN_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_IN_lbl" xml:lang="en-US">INDIA</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="country_IN_lbl" xml:lang="en-US">India</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_LK" xlink:label="country_LK" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_LK" xlink:to="country_LK_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_LK_lbl" xml:lang="en-US">SRI LANKA</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="country_LK_lbl" xml:lang="en-US">Sri Lanka</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/stpr/2023/stpr-2023.xsd#stpr_IL" xlink:label="stpr_IL" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="stpr_IL" xlink:to="stpr_IL_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="stpr_IL_lbl" xml:lang="en-US">ISRAEL</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="stpr_IL_lbl" xml:lang="en-US">Israel</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_ForeignCountriesMember" xlink:label="inod_ForeignCountriesMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_ForeignCountriesMember" xlink:to="inod_ForeignCountriesMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_ForeignCountriesMember_lbl" xml:lang="en-US">It represents information pertaining to foreign countries.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_ForeignCountriesMember_lbl" xml:lang="en-US">Foreign Countries [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="inod_ForeignCountriesMember_lbl" xml:lang="en-US">Total foreign</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:label="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:to="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_lbl" xml:lang="en-US">Revenues from External Customers and Long-Lived Assets [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_lbl" xml:lang="en-US">Segment reporting and concentrations</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncurrentAssets" xlink:label="us-gaap_NoncurrentAssets" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NoncurrentAssets" xlink:to="us-gaap_NoncurrentAssets_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NoncurrentAssets_lbl" xml:lang="en-US">Long-Lived Assets</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_NoncurrentAssets_lbl" xml:lang="en-US">Long - lived assets</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_NL" xlink:label="country_NL" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_NL" xlink:to="country_NL_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_NL_lbl" xml:lang="en-US">NETHERLANDS</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="country_NL_lbl" xml:lang="en-US">The Netherlands</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_OtherPrincipallyEuropeMember" xlink:label="inod_OtherPrincipallyEuropeMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_OtherPrincipallyEuropeMember" xlink:to="inod_OtherPrincipallyEuropeMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_OtherPrincipallyEuropeMember_lbl" xml:lang="en-US">It represents information pertaining to other principally Europe segment.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_OtherPrincipallyEuropeMember_lbl" xml:lang="en-US">Other Principally Europe [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="inod_OtherPrincipallyEuropeMember_lbl" xml:lang="en-US">Others - principally Europe</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_MajorCustomersAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_MajorCustomersAxis_lbl" xml:lang="en-US">Major Customers [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="srt_NameOfMajorCustomerDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_NameOfMajorCustomerDomain_lbl" xml:lang="en-US">Name Of Major Customer [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_ForeignCustomerMember" xlink:label="inod_ForeignCustomerMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_ForeignCustomerMember" xlink:to="inod_ForeignCustomerMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_ForeignCustomerMember_lbl" xml:lang="en-US">It represents information pertaining to foreign customer.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_ForeignCustomerMember_lbl" xml:lang="en-US">Foreign Customer [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_ForeignCustomerMember_lbl" xml:lang="en-US">Foreign customer</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_OneClientMember" xlink:label="inod_OneClientMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_OneClientMember" xlink:to="inod_OneClientMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_OneClientMember_lbl" xml:lang="en-US">It represents the member of one client.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_OneClientMember_lbl" xml:lang="en-US">One Client [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_OneClientMember_lbl" xml:lang="en-US">One customer</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_TwoClientMember" xlink:label="inod_TwoClientMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_TwoClientMember" xlink:to="inod_TwoClientMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_TwoClientMember_lbl" xml:lang="en-US">It represents the member of two clients.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_TwoClientMember_lbl" xml:lang="en-US">Two Client [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_TwoClientMember_lbl" xml:lang="en-US">Two customer</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_ThreeClientsMember" xlink:label="inod_ThreeClientsMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_ThreeClientsMember" xlink:to="inod_ThreeClientsMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_ThreeClientsMember_lbl" xml:lang="en-US">It represents the member of three client.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_ThreeClientsMember_lbl" xml:lang="en-US">Three Clients [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_ThreeClientsMember_lbl" xml:lang="en-US">Three customer</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_FourClientsMember" xlink:label="inod_FourClientsMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_FourClientsMember" xlink:to="inod_FourClientsMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_FourClientsMember_lbl" xml:lang="en-US">It represents the member of four clients.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_FourClientsMember_lbl" xml:lang="en-US">Four Clients [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_FourClientsMember_lbl" xml:lang="en-US">Four customer</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_ClientMember" xlink:label="inod_ClientMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_ClientMember" xlink:to="inod_ClientMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_ClientMember_lbl" xml:lang="en-US">It represents the member of client.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_ClientMember_lbl" xml:lang="en-US">Client [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_ClientMember_lbl" xml:lang="en-US">Customer</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis_lbl" xml:lang="en-US">Concentration Risk Benchmark [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain_lbl" xml:lang="en-US">Concentration Risk Benchmark [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SalesRevenueNetMember" xlink:label="us-gaap_SalesRevenueNetMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SalesRevenueNetMember" xlink:to="us-gaap_SalesRevenueNetMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SalesRevenueNetMember_lbl" xml:lang="en-US">Revenue Benchmark [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SalesRevenueNetMember_lbl" xml:lang="en-US">Sales revenue, net</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableMember" xlink:label="us-gaap_AccountsReceivableMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableMember" xlink:to="us-gaap_AccountsReceivableMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsReceivableMember_lbl" xml:lang="en-US">Accounts Receivable [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccountsReceivableMember_lbl" xml:lang="en-US">Accounts receivable</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskByTypeAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskByTypeAxis_lbl" xml:lang="en-US">Concentration Risk Type [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskTypeDomain" xlink:to="us-gaap_ConcentrationRiskTypeDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskTypeDomain_lbl" xml:lang="en-US">Concentration Risk Type [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="us-gaap_CustomerConcentrationRiskMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CustomerConcentrationRiskMember" xlink:to="us-gaap_CustomerConcentrationRiskMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CustomerConcentrationRiskMember_lbl" xml:lang="en-US">Customer Concentration Risk [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CustomerConcentrationRiskMember_lbl" xml:lang="en-US">Customer concentration risk</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonUsMember" xlink:label="us-gaap_NonUsMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NonUsMember" xlink:to="us-gaap_NonUsMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NonUsMember_lbl" xml:lang="en-US">Non-US [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NonUsMember_lbl" xml:lang="en-US">Non-US</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_NumberOfClient" xlink:label="inod_NumberOfClient" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_NumberOfClient" xlink:to="inod_NumberOfClient_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_NumberOfClient_lbl" xml:lang="en-US">Represents number of clients.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_NumberOfClient_lbl" xml:lang="en-US">Number of Clients</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_NumberOfClient_lbl" xml:lang="en-US">Number of clients</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="us-gaap_ConcentrationRiskPercentage1" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskPercentage1" xlink:to="us-gaap_ConcentrationRiskPercentage1_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskPercentage1_lbl" xml:lang="en-US">Concentration Risk, Percentage</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ConcentrationRiskPercentage1_lbl" xml:lang="en-US">Concentration risk, percentage</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_ScheduleOfEarningsPerShareBasicAndDilutedTable" xlink:label="inod_ScheduleOfEarningsPerShareBasicAndDilutedTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_ScheduleOfEarningsPerShareBasicAndDilutedTable" xlink:to="inod_ScheduleOfEarningsPerShareBasicAndDilutedTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_ScheduleOfEarningsPerShareBasicAndDilutedTable_lbl" xml:lang="en-US">Schedule of Earnings Per Share Basic and Diluted [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareDilutedLineItems" xlink:label="us-gaap_EarningsPerShareDilutedLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareDilutedLineItems" xlink:to="us-gaap_EarningsPerShareDilutedLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareDilutedLineItems_lbl" xml:lang="en-US">Earnings Per Share, Diluted, by Common Class, Including Two Class Method [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_EarningsPerShareDilutedLineItems_lbl" xml:lang="en-US">Earnings per share basic and diluted</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_lbl" xml:lang="en-US">Antidilutive Securities Excluded From Computation Of Earnings Per Share, By Antidilutive Securities [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AntidilutiveSecuritiesNameDomain" xlink:to="us-gaap_AntidilutiveSecuritiesNameDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain_lbl" xml:lang="en-US">Antidilutive Securities, Name [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_lbl" xml:lang="en-US">Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_lbl" xml:lang="en-US">Antidilutive securities excluded from computation of earnings per share</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_lbl" xml:lang="en-US">Antidilutive Securities Excluded From Computation Of Earnings Per Share, Amount</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_lbl" xml:lang="en-US">Computation of diluted loss per share</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeTable" xlink:label="us-gaap_DerivativeTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeTable" xlink:to="us-gaap_DerivativeTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeTable_lbl" xml:lang="en-US">Derivative [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeLineItems" xlink:label="us-gaap_DerivativeLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeLineItems" xlink:to="us-gaap_DerivativeLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeLineItems_lbl" xml:lang="en-US">Derivative [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DerivativeLineItems_lbl" xml:lang="en-US">Derivative</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeNotionalAmount" xlink:label="us-gaap_DerivativeNotionalAmount" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeNotionalAmount" xlink:to="us-gaap_DerivativeNotionalAmount_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeNotionalAmount_lbl" xml:lang="en-US">Derivative, Notional Amount</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DerivativeNotionalAmount_lbl" xml:lang="en-US">Derivative notional amount</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" xlink:label="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" xlink:to="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_lbl" xml:lang="en-US">Fair Values Derivatives, Balance Sheet Location, by Derivative Contract Type [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BalanceSheetLocationAxis" xlink:to="us-gaap_BalanceSheetLocationAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BalanceSheetLocationAxis_lbl" xml:lang="en-US">Balance Sheet Location [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BalanceSheetLocationDomain" xlink:to="us-gaap_BalanceSheetLocationDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BalanceSheetLocationDomain_lbl" xml:lang="en-US">Balance Sheet Location [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesMember" xlink:label="us-gaap_AccruedLiabilitiesMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedLiabilitiesMember" xlink:to="us-gaap_AccruedLiabilitiesMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccruedLiabilitiesMember_lbl" xml:lang="en-US">Accrued Liabilities [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccruedLiabilitiesMember_lbl" xml:lang="en-US">Accrued expenses and other</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember" xlink:label="us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember" xlink:to="us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_lbl" xml:lang="en-US">Prepaid Expenses And Other Current Assets [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_lbl" xml:lang="en-US">Prepaid expenses and other current assets</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeInstrumentRiskAxis" xlink:label="us-gaap_DerivativeInstrumentRiskAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeInstrumentRiskAxis" xlink:to="us-gaap_DerivativeInstrumentRiskAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeInstrumentRiskAxis_lbl" xml:lang="en-US">Derivative Instrument [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="us-gaap_DerivativeContractTypeDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeContractTypeDomain" xlink:to="us-gaap_DerivativeContractTypeDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeContractTypeDomain_lbl" xml:lang="en-US">Derivative Contract [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignExchangeForwardMember" xlink:label="us-gaap_ForeignExchangeForwardMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ForeignExchangeForwardMember" xlink:to="us-gaap_ForeignExchangeForwardMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ForeignExchangeForwardMember_lbl" xml:lang="en-US">Foreign Exchange Forward [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ForeignExchangeForwardMember_lbl" xml:lang="en-US">Foreign currency forward contracts</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_HedgingDesignationAxis" xlink:label="us-gaap_HedgingDesignationAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_HedgingDesignationAxis" xlink:to="us-gaap_HedgingDesignationAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_HedgingDesignationAxis_lbl" xml:lang="en-US">Hedging Designation [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_HedgingDesignationDomain" xlink:label="us-gaap_HedgingDesignationDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_HedgingDesignationDomain" xlink:to="us-gaap_HedgingDesignationDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_HedgingDesignationDomain_lbl" xml:lang="en-US">Hedging Designation [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DesignatedAsHedgingInstrumentMember" xlink:label="us-gaap_DesignatedAsHedgingInstrumentMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DesignatedAsHedgingInstrumentMember" xlink:to="us-gaap_DesignatedAsHedgingInstrumentMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DesignatedAsHedgingInstrumentMember_lbl" xml:lang="en-US">Designated as Hedging Instrument [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DesignatedAsHedgingInstrumentMember_lbl" xml:lang="en-US">Designated as hedging instrument</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativesFairValueLineItems" xlink:label="us-gaap_DerivativesFairValueLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativesFairValueLineItems" xlink:to="us-gaap_DerivativesFairValueLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativesFairValueLineItems_lbl" xml:lang="en-US">Derivatives, Fair Value [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DerivativesFairValueLineItems_lbl" xml:lang="en-US">Derivatives, Fair Value</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeInstrumentsAndHedgesLiabilities" xlink:label="us-gaap_DerivativeInstrumentsAndHedgesLiabilities" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeInstrumentsAndHedgesLiabilities" xlink:to="us-gaap_DerivativeInstrumentsAndHedgesLiabilities_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeInstrumentsAndHedgesLiabilities_lbl" xml:lang="en-US">Derivative Instruments and Hedges, Liabilities, Total</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DerivativeInstrumentsAndHedgesLiabilities_lbl" xml:lang="en-US">Derivatives designated as hedging instruments</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" xlink:label="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" xlink:to="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_lbl" xml:lang="en-US">Derivative Instruments, Gain (Loss) [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeInstrumentsGainLossLineItems" xlink:label="us-gaap_DerivativeInstrumentsGainLossLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeInstrumentsGainLossLineItems" xlink:to="us-gaap_DerivativeInstrumentsGainLossLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeInstrumentsGainLossLineItems_lbl" xml:lang="en-US">Derivative Instruments, Gain (Loss) [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DerivativeInstrumentsGainLossLineItems_lbl" xml:lang="en-US">Derivative instruments, gain (loss)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax_lbl" xml:lang="en-US">Other Comprehensive Income (Loss), Unrealized Gain (Loss) on Derivatives Arising During Period, before Tax</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax_lbl" xml:lang="en-US">Net gain (loss) recognized in OCI</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodBeforeTax" xlink:label="us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodBeforeTax" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodBeforeTax" xlink:to="us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodBeforeTax_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodBeforeTax_lbl" xml:lang="en-US">Derivative Instruments, Gain (Loss) Reclassified From Accumulated Oci Into Income, Effective Portion, Net</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodBeforeTax_lbl" xml:lang="en-US">Net loss reclassified from accumulated OCI into income</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityTable" xlink:label="us-gaap_LineOfCreditFacilityTable" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityTable" xlink:to="us-gaap_LineOfCreditFacilityTable_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityTable_lbl" xml:lang="en-US">Line of Credit Facility [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CreditFacilityAxis_lbl" xml:lang="en-US">Credit Facility [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="us-gaap_CreditFacilityDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CreditFacilityDomain_lbl" xml:lang="en-US">Credit Facility [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="us-gaap_RevolvingCreditFacilityMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevolvingCreditFacilityMember" xlink:to="us-gaap_RevolvingCreditFacilityMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevolvingCreditFacilityMember_lbl" xml:lang="en-US">Revolving Credit Facility [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RevolvingCreditFacilityMember_lbl" xml:lang="en-US">Revolving Credit Facility</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateAxis" xlink:label="us-gaap_VariableRateAxis" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_VariableRateAxis" xlink:to="us-gaap_VariableRateAxis_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_VariableRateAxis_lbl" xml:lang="en-US">Variable Rate [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateDomain" xlink:label="us-gaap_VariableRateDomain" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_VariableRateDomain" xlink:to="us-gaap_VariableRateDomain_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_VariableRateDomain_lbl" xml:lang="en-US">Variable Rate [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember" xlink:label="us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember" xlink:to="us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember_lbl" xml:lang="en-US">Secured Overnight Financing Rate (SOFR) Overnight Index Swap Rate [Member]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember_lbl" xml:lang="en-US">SOFR</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityLineItems" xlink:label="us-gaap_LineOfCreditFacilityLineItems" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="us-gaap_LineOfCreditFacilityLineItems_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityLineItems_lbl" xml:lang="en-US">Line of Credit Facility [Line Items]</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LineOfCreditFacilityLineItems_lbl" xml:lang="en-US">Line of Credit</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_lbl" xml:lang="en-US">Line of Credit Facility, Maximum Borrowing Capacity</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_lbl" xml:lang="en-US">Maximum borrowing capacity</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_LineOfCreditFacilityPercentageOfEligibleAccountsConsideredForDeterminationOfBorrowingBase" xlink:label="inod_LineOfCreditFacilityPercentageOfEligibleAccountsConsideredForDeterminationOfBorrowingBase" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_LineOfCreditFacilityPercentageOfEligibleAccountsConsideredForDeterminationOfBorrowingBase" xlink:to="inod_LineOfCreditFacilityPercentageOfEligibleAccountsConsideredForDeterminationOfBorrowingBase_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_LineOfCreditFacilityPercentageOfEligibleAccountsConsideredForDeterminationOfBorrowingBase_lbl" xml:lang="en-US">Percentage of eligible accounts considered for determination of borrowing base under the line of credit facility.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_LineOfCreditFacilityPercentageOfEligibleAccountsConsideredForDeterminationOfBorrowingBase_lbl" xml:lang="en-US">Line of Credit Facility, Percentage Of Eligible Accounts Considered For Determination Of Borrowing Base</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_LineOfCreditFacilityPercentageOfEligibleAccountsConsideredForDeterminationOfBorrowingBase_lbl" xml:lang="en-US">Percentage of eligible accounts considered for determination of borrowing base</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_LineOfCreditFacilityPercentageOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase" xlink:label="inod_LineOfCreditFacilityPercentageOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_LineOfCreditFacilityPercentageOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase" xlink:to="inod_LineOfCreditFacilityPercentageOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_LineOfCreditFacilityPercentageOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase_lbl" xml:lang="en-US">Percentage of eligible foreign accounts considered for determination of borrowing base under the line of credit facility.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_LineOfCreditFacilityPercentageOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase_lbl" xml:lang="en-US">Line of Credit Facility, Percentage Of Eligible Foreign Accounts Considered For Determination Of Borrowing Base</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_LineOfCreditFacilityPercentageOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase_lbl" xml:lang="en-US">Percentage of eligible foreign accounts considered for determination of borrowing base</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_LineOfCreditFacilityMaximumAmountOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase" xlink:label="inod_LineOfCreditFacilityMaximumAmountOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_LineOfCreditFacilityMaximumAmountOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase" xlink:to="inod_LineOfCreditFacilityMaximumAmountOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_LineOfCreditFacilityMaximumAmountOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase_lbl" xml:lang="en-US">Maximum amount of eligible foreign accounts considered for determination of borrowing base under the line of credit facility.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_LineOfCreditFacilityMaximumAmountOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase_lbl" xml:lang="en-US">Line of Credit Facility, Maximum Amount Of Eligible Foreign Accounts Considered For Determination Of Borrowing Base</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_LineOfCreditFacilityMaximumAmountOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase_lbl" xml:lang="en-US">Maximum amount of eligible foreign accounts considered for determination of borrowing base</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity" xlink:to="us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity_lbl" xml:lang="en-US">Line of Credit Facility, Current Borrowing Capacity</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity_lbl" xml:lang="en-US">Borrowing base calculation</link:label>
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_LineOfCreditFacilityCovenantTermsThresholdMinimumRequiredFixedChargeCoverageRatio" xlink:label="inod_LineOfCreditFacilityCovenantTermsThresholdMinimumRequiredFixedChargeCoverageRatio" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="inod_LineOfCreditFacilityCovenantTermsThresholdMinimumRequiredFixedChargeCoverageRatio" xlink:to="inod_LineOfCreditFacilityCovenantTermsThresholdMinimumRequiredFixedChargeCoverageRatio_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:label="inod_LineOfCreditFacilityCovenantTermsThresholdMinimumRequiredFixedChargeCoverageRatio_lbl" xml:lang="en-US">Threshold minimum required fixed charge coverage ratio under the line of credit facility.</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="inod_LineOfCreditFacilityCovenantTermsThresholdMinimumRequiredFixedChargeCoverageRatio_lbl" xml:lang="en-US">Line of Credit Facility, Covenant Terms, Threshold Minimum Required Fixed Charge Coverage Ratio</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="inod_LineOfCreditFacilityCovenantTermsThresholdMinimumRequiredFixedChargeCoverageRatio_lbl" xml:lang="en-US">Threshold minimum fixed charge coverage ratio required to be maintained by December 31, 2023</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:label="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" />
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:to="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_lbl" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_lbl" xml:lang="en-US">Debt Instrument, Basis Spread on Variable Rate</link:label>
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_lbl" xml:lang="en-US">Interest rate</link:label>
  </link:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>14
<FILENAME>inod-20231231_pre.xml
<DESCRIPTION>EX-101.PRE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="utf-8"?>
<!--XBRL document created with Toppan Merrill Bridge  10.5.0.8 -->
<!--Based on XBRL 2.1-->
<!--Created on: 3/4/2024 3:31:44 PM-->
<!--Modified on: 3/4/2024 3:31:44 PM-->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance">
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DocumentDocumentAndEntityInformation" roleURI="http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#StatementConsolidatedBalanceSheets" roleURI="http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#StatementConsolidatedBalanceSheetsParenthetical" roleURI="http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheetsParenthetical" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#StatementConsolidatedStatementsOfOperationsAndComprehensiveLoss" roleURI="http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLoss" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#StatementConsolidatedStatementsOfStockholdersEquity" roleURI="http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfStockholdersEquity" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#StatementConsolidatedStatementsOfCashFlows" roleURI="http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPolicies" roleURI="http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPolicies" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureShortTermInvestmentsOther" roleURI="http://www.innodata-isogen.com/role/DisclosureShortTermInvestmentsOther" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureAccountsReceivable" roleURI="http://www.innodata-isogen.com/role/DisclosureAccountsReceivable" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosurePropertyAndEquipment" roleURI="http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipment" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureGoodwillAndIntangibleAssets" roleURI="http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssets" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureIncomeTaxes" roleURI="http://www.innodata-isogen.com/role/DisclosureIncomeTaxes" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureLongTermObligations" roleURI="http://www.innodata-isogen.com/role/DisclosureLongTermObligations" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureCommitmentsAndContingencies" roleURI="http://www.innodata-isogen.com/role/DisclosureCommitmentsAndContingencies" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureOperatingLeases" roleURI="http://www.innodata-isogen.com/role/DisclosureOperatingLeases" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosurePensionBenefits" roleURI="http://www.innodata-isogen.com/role/DisclosurePensionBenefits" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureCapitalStock" roleURI="http://www.innodata-isogen.com/role/DisclosureCapitalStock" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureStockOptions" roleURI="http://www.innodata-isogen.com/role/DisclosureStockOptions" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureComprehensiveLoss" roleURI="http://www.innodata-isogen.com/role/DisclosureComprehensiveLoss" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureSegmentReportingAndConcentrations" roleURI="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrations" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureLossPerShare" roleURI="http://www.innodata-isogen.com/role/DisclosureLossPerShare" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureDerivatives" roleURI="http://www.innodata-isogen.com/role/DisclosureDerivatives" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureLineOfCredit" roleURI="http://www.innodata-isogen.com/role/DisclosureLineOfCredit" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureSubsequentEvent" roleURI="http://www.innodata-isogen.com/role/DisclosureSubsequentEvent" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesPolicies" roleURI="http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesPolicies" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesTables" roleURI="http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesTables" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureShortTermInvestmentsOtherTables" roleURI="http://www.innodata-isogen.com/role/DisclosureShortTermInvestmentsOtherTables" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureAccountsReceivableTables" roleURI="http://www.innodata-isogen.com/role/DisclosureAccountsReceivableTables" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosurePropertyAndEquipmentTables" roleURI="http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentTables" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureGoodwillAndIntangibleAssetsTables" roleURI="http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsTables" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureIncomeTaxesTables" roleURI="http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTables" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureLongTermObligationsTables" roleURI="http://www.innodata-isogen.com/role/DisclosureLongTermObligationsTables" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureOperatingLeasesTables" roleURI="http://www.innodata-isogen.com/role/DisclosureOperatingLeasesTables" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosurePensionBenefitsTables" roleURI="http://www.innodata-isogen.com/role/DisclosurePensionBenefitsTables" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureStockOptionsTables" roleURI="http://www.innodata-isogen.com/role/DisclosureStockOptionsTables" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureComprehensiveLossTables" roleURI="http://www.innodata-isogen.com/role/DisclosureComprehensiveLossTables" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureSegmentReportingAndConcentrationsTables" roleURI="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsTables" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureLossPerShareTables" roleURI="http://www.innodata-isogen.com/role/DisclosureLossPerShareTables" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureDerivativesTables" roleURI="http://www.innodata-isogen.com/role/DisclosureDerivativesTables" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesStockBasedCompensationDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesStockBasedCompensationDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDeferredRevenueDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDeferredRevenueDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureShortTermInvestmentsOtherDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureShortTermInvestmentsOtherDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureAccountsReceivableDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureAccountsReceivableDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureAccountsReceivableActivityInAllowanceForCreditLossesDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureAccountsReceivableActivityInAllowanceForCreditLossesDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosurePropertyAndEquipmentPropertyAndEquipmentDetails" roleURI="http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentPropertyAndEquipmentDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosurePropertyAndEquipmentAdditionalInformationDetails" roleURI="http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentAdditionalInformationDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureGoodwillAndIntangibleAssetsChangesInCarryingAmountOfGoodwillDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsChangesInCarryingAmountOfGoodwillDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureGoodwillAndIntangibleAssetsDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureGoodwillAndIntangibleAssetsEstimatedAmortizationExpenseDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedAmortizationExpenseDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureIncomeTaxesComponentsOfProvisionForIncomeTaxesDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureIncomeTaxesComponentsOfProvisionForIncomeTaxesDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureIncomeTaxesTaxRateReconciliationDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureIncomeTaxesUnitedStatesAndForeignComponentsOfIncomeLossDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureIncomeTaxesUnitedStatesAndForeignComponentsOfIncomeLossDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureIncomeTaxesUnrecognizedTaxBenefitsDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureIncomeTaxesUnrecognizedTaxBenefitsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureIncomeTaxesDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureLongTermObligationsDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureLongTermObligationsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureCommitmentsAndContingenciesDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureCommitmentsAndContingenciesDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureOperatingLeasesDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureOperatingLeasesDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureOperatingLeasesFinancialStatementsRelatedToOperatingLeasesDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureOperatingLeasesFinancialStatementsRelatedToOperatingLeasesDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureOperatingLeasesWeightedAverageRemainingLeaseTermsDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureOperatingLeasesWeightedAverageRemainingLeaseTermsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosurePensionBenefitsBenefitObligationsDetails" roleURI="http://www.innodata-isogen.com/role/DisclosurePensionBenefitsBenefitObligationsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosurePensionBenefitsComponentsOfNetPeriodicPensionCostDetails" roleURI="http://www.innodata-isogen.com/role/DisclosurePensionBenefitsComponentsOfNetPeriodicPensionCostDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosurePensionBenefitsRecognizedInBalanceSheetsDetails" roleURI="http://www.innodata-isogen.com/role/DisclosurePensionBenefitsRecognizedInBalanceSheetsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosurePensionBenefitsActuarialAssumptionsDetails" roleURI="http://www.innodata-isogen.com/role/DisclosurePensionBenefitsActuarialAssumptionsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosurePensionBenefitsEstimatedFutureBenefitPaymentsDetails" roleURI="http://www.innodata-isogen.com/role/DisclosurePensionBenefitsEstimatedFutureBenefitPaymentsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosurePensionBenefitsAdditionalInformationDetails" roleURI="http://www.innodata-isogen.com/role/DisclosurePensionBenefitsAdditionalInformationDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureCapitalStockDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureCapitalStockDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureStockOptionsWeightedAverageFairValuesAndAssumptionsDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureStockOptionsWeightedAverageFairValuesAndAssumptionsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureStockOptionsSummaryOfStockOptionActivityDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionActivityDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureStockOptionsSummaryOfStockOptionAndRestrictedStockOptionActivityDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionAndRestrictedStockOptionActivityDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureStockOptionsAdditionalInformationDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureStockOptionsAdditionalInformationDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureComprehensiveLossReclassificationsFromAccumulatedOtherComprehensiveLossDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureComprehensiveLossReclassificationsFromAccumulatedOtherComprehensiveLossDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureSegmentReportingAndConcentrationsDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureSegmentReportingAndConcentrationsLongLivedAssetsDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsLongLivedAssetsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureSegmentReportingAndConcentrationsRevenuesByGeographicRegionDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsRevenuesByGeographicRegionDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureSegmentReportingAndConcentrationsAdditionalInformationDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsAdditionalInformationDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureLossPerShareDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureLossPerShareDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureLossPerShareAdditionalInformationDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureLossPerShareAdditionalInformationDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureDerivativesAdditionalInformationDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureDerivativesAdditionalInformationDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureDerivativesFairValueOfDerivativeInstrumentsDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureDerivativesFairValueOfDerivativeInstrumentsDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureDerivativesContractsDesignatedAsCashFlowHedgesDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureDerivativesContractsDesignatedAsCashFlowHedgesDetails" />
  <link:roleRef xlink:type="simple" xlink:href="inod-20231231.xsd#DisclosureLineOfCreditDetails" roleURI="http://www.innodata-isogen.com/role/DisclosureLineOfCreditDetails" />
  <link:roleRef xlink:type="simple" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#InsiderTradingArrangements" roleURI="http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedLabel" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTerseLabel" />
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation" xlink:type="extended" xlink:title="00090 - Document - Document and Entity Information">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CoverAbstract" xlink:label="dei_CoverAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentType" xlink:label="dei_DocumentType_638451631019361293" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_DocumentType_638451631019361293" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentAnnualReport" xlink:label="dei_DocumentAnnualReport_638451631019361293" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_DocumentAnnualReport_638451631019361293" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate_638451631019361293" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_DocumentPeriodEndDate_638451631019361293" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentTransitionReport" xlink:label="dei_DocumentTransitionReport_638451631019371291" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_DocumentTransitionReport_638451631019371291" order="4" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFileNumber" xlink:label="dei_EntityFileNumber_638451631019371291" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityFileNumber_638451631019371291" order="5" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName_638451631019371291" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityRegistrantName_638451631019371291" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="dei_EntityIncorporationStateCountryCode_638451631019371291" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityIncorporationStateCountryCode_638451631019371291" order="7" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityTaxIdentificationNumber" xlink:label="dei_EntityTaxIdentificationNumber_638451631019371291" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityTaxIdentificationNumber_638451631019371291" order="8" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1_638451631019371291" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityAddressAddressLine1_638451631019371291" order="9" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown_638451631019371291" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityAddressCityOrTown_638451631019371291" order="10" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressStateOrProvince" xlink:label="dei_EntityAddressStateOrProvince_638451631019371291" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityAddressStateOrProvince_638451631019371291" order="11" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode_638451631019371291" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityAddressPostalZipCode_638451631019371291" order="12" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode_638451631019371291" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_CityAreaCode_638451631019371291" order="13" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber_638451631019371291" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_LocalPhoneNumber_638451631019371291" order="14" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Security12bTitle" xlink:label="dei_Security12bTitle_638451631019381280" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_Security12bTitle_638451631019381280" order="15" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_TradingSymbol" xlink:label="dei_TradingSymbol_638451631019381280" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_TradingSymbol_638451631019381280" order="16" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName_638451631019381280" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_SecurityExchangeName_638451631019381280" order="17" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityVoluntaryFilers" xlink:label="dei_EntityVoluntaryFilers_638451631019381280" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityVoluntaryFilers_638451631019381280" order="18" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCurrentReportingStatus" xlink:label="dei_EntityCurrentReportingStatus_638451631019381280" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityCurrentReportingStatus_638451631019381280" order="19" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityInteractiveDataCurrent" xlink:label="dei_EntityInteractiveDataCurrent_638451631019381280" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityInteractiveDataCurrent_638451631019381280" order="20" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFilerCategory" xlink:label="dei_EntityFilerCategory_638451631019381280" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityFilerCategory_638451631019381280" order="21" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityPublicFloat" xlink:label="dei_EntityPublicFloat_638451631019381280" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityPublicFloat_638451631019381280" order="22" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntitySmallBusiness" xlink:label="dei_EntitySmallBusiness_638451631019391277" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntitySmallBusiness_638451631019391277" order="23" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany_638451631019391277" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityEmergingGrowthCompany_638451631019391277" order="24" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityShellCompany" xlink:label="dei_EntityShellCompany_638451631019391277" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityShellCompany_638451631019391277" order="25" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="dei_EntityCommonStockSharesOutstanding_638451631019391277" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityCommonStockSharesOutstanding_638451631019391277" order="26" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey_638451631019391277" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityCentralIndexKey_638451631019391277" order="27" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CurrentFiscalYearEndDate" xlink:label="dei_CurrentFiscalYearEndDate_638451631019391277" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_CurrentFiscalYearEndDate_638451631019391277" order="28" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityWellKnownSeasonedIssuer" xlink:label="dei_EntityWellKnownSeasonedIssuer_638451631019391277" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityWellKnownSeasonedIssuer_638451631019391277" order="29" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFinStmtErrorCorrectionFlag" xlink:label="dei_DocumentFinStmtErrorCorrectionFlag_638451631019401274" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_DocumentFinStmtErrorCorrectionFlag_638451631019401274" order="30" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalYearFocus" xlink:label="dei_DocumentFiscalYearFocus_638451631019401274" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_DocumentFiscalYearFocus_638451631019401274" order="31" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="dei_DocumentFiscalPeriodFocus_638451631019401274" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_DocumentFiscalPeriodFocus_638451631019401274" order="32" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag_638451631019401274" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_AmendmentFlag_638451631019401274" order="33" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditorName" xlink:label="dei_AuditorName_638451631019401274" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_AuditorName_638451631019401274" order="34" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditorFirmId" xlink:label="dei_AuditorFirmId_638451631019401274" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_AuditorFirmId_638451631019401274" order="35" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AuditorLocation" xlink:label="dei_AuditorLocation_638451631019401274" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_AuditorLocation_638451631019401274" order="36" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets" xlink:type="extended" xlink:title="00100 - Statement - CONSOLIDATED BALANCE SHEETS">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="loc_us-gaap_StatementOfFinancialPositionAbstract_23" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsAbstract" xlink:label="us-gaap_AssetsAbstract_638451631019501280" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_23" xlink:to="us-gaap_AssetsAbstract_638451631019501280" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="us-gaap_AssetsCurrentAbstract_638451631019511305" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638451631019501280" xlink:to="us-gaap_AssetsCurrentAbstract_638451631019511305" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_638451631019511305" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638451631019511305" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue_638451631019511305" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherShortTermInvestments" xlink:label="us-gaap_OtherShortTermInvestments_638451631019511305" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638451631019511305" xlink:to="us-gaap_OtherShortTermInvestments_638451631019511305" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent_638451631019511305" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638451631019511305" xlink:to="us-gaap_AccountsReceivableNetCurrent_638451631019511305" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_638451631019511305" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638451631019511305" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_638451631019511305" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent_638451631019511305" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract_638451631019511305" xlink:to="us-gaap_AssetsCurrent_638451631019511305" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_638451631019511305" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638451631019501280" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_638451631019511305" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_638451631019511305" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638451631019501280" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_638451631019511305" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent_638451631019511305" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638451631019501280" xlink:to="us-gaap_OtherAssetsNoncurrent_638451631019511305" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet_638451631019511305" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638451631019501280" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet_638451631019511305" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill_638451631019511305" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638451631019501280" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill_638451631019511305" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill_638451631019521280" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638451631019501280" xlink:to="us-gaap_Goodwill_638451631019521280" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets_638451631019521280" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract_638451631019501280" xlink:to="us-gaap_Assets_638451631019521280" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638451631019521280" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_23" xlink:to="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638451631019521280" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="us-gaap_LiabilitiesCurrentAbstract_638451631019521280" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638451631019521280" xlink:to="us-gaap_LiabilitiesCurrentAbstract_638451631019521280" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableCurrent" xlink:label="us-gaap_AccountsPayableCurrent_638451631019521280" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638451631019521280" xlink:to="us-gaap_AccountsPayableCurrent_638451631019521280" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="us-gaap_AccruedLiabilitiesCurrent_638451631019521280" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638451631019521280" xlink:to="us-gaap_AccruedLiabilitiesCurrent_638451631019521280" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent" xlink:label="us-gaap_EmployeeRelatedLiabilitiesCurrent_638451631019521280" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638451631019521280" xlink:to="us-gaap_EmployeeRelatedLiabilitiesCurrent_638451631019521280" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TaxesPayableCurrent" xlink:label="us-gaap_TaxesPayableCurrent_638451631019521280" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638451631019521280" xlink:to="us-gaap_TaxesPayableCurrent_638451631019521280" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_CurrentPortionOfLongTermObligations" xlink:label="inod_CurrentPortionOfLongTermObligations_638451631019521280" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638451631019521280" xlink:to="inod_CurrentPortionOfLongTermObligations_638451631019521280" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_638451631019531278" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638451631019521280" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_638451631019531278" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent_638451631019531278" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract_638451631019521280" xlink:to="us-gaap_LiabilitiesCurrent_638451631019531278" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet_638451631019531278" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638451631019521280" xlink:to="us-gaap_DeferredIncomeTaxLiabilitiesNet_638451631019531278" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_NoncurrentPortionOfLongTermObligations" xlink:label="inod_NoncurrentPortionOfLongTermObligations_638451631019531278" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638451631019521280" xlink:to="inod_NoncurrentPortionOfLongTermObligations_638451631019531278" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_638451631019531278" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638451631019521280" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_638451631019531278" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities_638451631019531278" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638451631019521280" xlink:to="us-gaap_Liabilities_638451631019531278" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="5" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="us-gaap_CommitmentsAndContingencies_638451631019531278" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638451631019521280" xlink:to="us-gaap_CommitmentsAndContingencies_638451631019531278" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RedeemableNoncontrollingInterestEquityCarryingAmount" xlink:label="us-gaap_RedeemableNoncontrollingInterestEquityCarryingAmount_638451631019531278" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638451631019521280" xlink:to="us-gaap_RedeemableNoncontrollingInterestEquityCarryingAmount_638451631019531278" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="us-gaap_StockholdersEquityAbstract_638451631019541276" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638451631019521280" xlink:to="us-gaap_StockholdersEquityAbstract_638451631019541276" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockValue" xlink:label="us-gaap_PreferredStockValue_638451631019541276" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract_638451631019541276" xlink:to="us-gaap_PreferredStockValue_638451631019541276" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue_638451631019541276" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract_638451631019541276" xlink:to="us-gaap_CommonStockValue_638451631019541276" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapital" xlink:label="us-gaap_AdditionalPaidInCapital_638451631019541276" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract_638451631019541276" xlink:to="us-gaap_AdditionalPaidInCapital_638451631019541276" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_638451631019541276" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract_638451631019541276" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit_638451631019541276" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_638451631019541276" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract_638451631019541276" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_638451631019541276" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityBeforeTreasuryStock" xlink:label="us-gaap_StockholdersEquityBeforeTreasuryStock_638451631019541276" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract_638451631019541276" xlink:to="us-gaap_StockholdersEquityBeforeTreasuryStock_638451631019541276" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockValue" xlink:label="us-gaap_TreasuryStockValue_638451631019551275" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract_638451631019541276" xlink:to="us-gaap_TreasuryStockValue_638451631019551275" order="7" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity_638451631019551275" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract_638451631019541276" xlink:to="us-gaap_StockholdersEquity_638451631019551275" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity_638451631019551275" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract_638451631019521280" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity_638451631019551275" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheetsParenthetical" xlink:type="extended" xlink:title="00105 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="loc_us-gaap_StatementOfFinancialPositionAbstract_89" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesAuthorized" xlink:label="us-gaap_PreferredStockSharesAuthorized_638451631019551275" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_89" xlink:to="us-gaap_PreferredStockSharesAuthorized_638451631019551275" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesOutstanding" xlink:label="us-gaap_PreferredStockSharesOutstanding_638451631019551275" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_89" xlink:to="us-gaap_PreferredStockSharesOutstanding_638451631019551275" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare_638451631019561280" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_89" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare_638451631019561280" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="us-gaap_CommonStockSharesAuthorized_638451631019561280" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_89" xlink:to="us-gaap_CommonStockSharesAuthorized_638451631019561280" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued_638451631019561280" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_89" xlink:to="us-gaap_CommonStockSharesIssued_638451631019561280" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="us-gaap_CommonStockSharesOutstanding_638451631019561280" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_89" xlink:to="us-gaap_CommonStockSharesOutstanding_638451631019561280" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonShares" xlink:label="us-gaap_TreasuryStockCommonShares_638451631019561280" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_89" xlink:to="us-gaap_TreasuryStockCommonShares_638451631019561280" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLoss" xlink:type="extended" xlink:title="00200 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE LOSS">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementAbstract" xlink:label="us-gaap_IncomeStatementAbstract_637077091637837009" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Revenues" xlink:label="us-gaap_Revenues_638451631019561280" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract_637077091637837009" xlink:to="us-gaap_Revenues_638451631019561280" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostsAndExpensesAbstract" xlink:label="us-gaap_CostsAndExpensesAbstract_638451631019561280" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract_637077091637837009" xlink:to="us-gaap_CostsAndExpensesAbstract_638451631019561280" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DirectOperatingCosts" xlink:label="us-gaap_DirectOperatingCosts_638451631019571338" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CostsAndExpensesAbstract_638451631019561280" xlink:to="us-gaap_DirectOperatingCosts_638451631019571338" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense_638451631019571338" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CostsAndExpensesAbstract_638451631019561280" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpense_638451631019571338" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestIncomeExpenseNonoperatingNet" xlink:label="us-gaap_InterestIncomeExpenseNonoperatingNet_638451631019571338" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CostsAndExpensesAbstract_638451631019561280" xlink:to="us-gaap_InterestIncomeExpenseNonoperatingNet_638451631019571338" order="3" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostsAndExpenses" xlink:label="us-gaap_CostsAndExpenses_638451631019571338" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CostsAndExpensesAbstract_638451631019561280" xlink:to="us-gaap_CostsAndExpenses_638451631019571338" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_638451631019571338" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CostsAndExpensesAbstract_638451631019561280" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_638451631019571338" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit_638451631019571338" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract_637077091637837009" xlink:to="us-gaap_IncomeTaxExpenseBenefit_638451631019571338" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss_638451631019571338" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract_637077091637837009" xlink:to="us-gaap_ProfitLoss_638451631019571338" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:label="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_638451631019571338" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract_637077091637837009" xlink:to="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_638451631019571338" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_NetIncomeLossAttributableToParent1" xlink:label="inod_NetIncomeLossAttributableToParent1_638451631019571338" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract_637077091637837009" xlink:to="inod_NetIncomeLossAttributableToParent1_638451631019571338" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="us-gaap_EarningsPerShareAbstract_638451631019581295" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract_637077091637837009" xlink:to="us-gaap_EarningsPerShareAbstract_638451631019581295" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic_638451631019581295" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract_638451631019581295" xlink:to="us-gaap_EarningsPerShareBasic_638451631019581295" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted_638451631019581295" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract_638451631019581295" xlink:to="us-gaap_EarningsPerShareDiluted_638451631019581295" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_638451631019581295" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract_637077091637837009" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_638451631019581295" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_638451631019581295" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_638451631019581295" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_638451631019581295" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_638451631019581295" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_638451631019581295" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_638451631019581295" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAbstract" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAbstract_638451631019581295" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract_637077091637837009" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxAbstract_638451631019581295" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss_638451631019581295" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxAbstract_638451631019581295" xlink:to="us-gaap_ProfitLoss_638451631019581295" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="9" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax_638451631019591291" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxAbstract_638451631019581295" xlink:to="us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax_638451631019591291" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_638451631019591291" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxAbstract_638451631019581295" xlink:to="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_638451631019591291" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="8" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax_638451631019591291" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxAbstract_638451631019581295" xlink:to="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax_638451631019591291" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossNetOfTax_638451631019591291" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxAbstract_638451631019581295" xlink:to="us-gaap_OtherComprehensiveIncomeLossNetOfTax_638451631019591291" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="8" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_638451631019591291" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxAbstract_638451631019581295" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest_638451631019591291" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_638451631019591291" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxAbstract_638451631019581295" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_638451631019591291" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax_638451631019591291" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxAbstract_638451631019581295" xlink:to="us-gaap_ComprehensiveIncomeNetOfTax_638451631019591291" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfStockholdersEquity" xlink:type="extended" xlink:title="00300 - Statement - CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="loc_us-gaap_StatementOfStockholdersEquityAbstract_469" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable_638451631019601291" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfStockholdersEquityAbstract_469" xlink:to="us-gaap_StatementTable_638451631019601291" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis_638451631019601291" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638451631019601291" xlink:to="us-gaap_StatementEquityComponentsAxis_638451631019601291" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember_638451631019601291" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_638451631019601291" xlink:to="us-gaap_CommonStockMember_638451631019601291" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="us-gaap_AdditionalPaidInCapitalMember_638451631019601291" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_638451631019601291" xlink:to="us-gaap_AdditionalPaidInCapitalMember_638451631019601291" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember_638451631019601291" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_638451631019601291" xlink:to="us-gaap_RetainedEarningsMember_638451631019601291" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember_638451631019601291" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_638451631019601291" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember_638451631019601291" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonMember" xlink:label="us-gaap_TreasuryStockCommonMember_638451631019601291" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_638451631019601291" xlink:to="us-gaap_TreasuryStockCommonMember_638451631019601291" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain_638451631019601291" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_638451631019601291" xlink:to="us-gaap_EquityComponentDomain_638451631019601291" order="6" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems_638451631019601291" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable_638451631019601291" xlink:to="us-gaap_StatementLineItems_638451631019601291" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity_638451631019611294" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638451631019601291" xlink:to="us-gaap_StockholdersEquity_638451631019611294" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonShares" xlink:label="us-gaap_TreasuryStockCommonShares_638451631019611294" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638451631019601291" xlink:to="us-gaap_TreasuryStockCommonShares_638451631019611294" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesOutstanding" xlink:label="us-gaap_SharesOutstanding_638451631019611294" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638451631019601291" xlink:to="us-gaap_SharesOutstanding_638451631019611294" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss_638451631019611294" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638451631019601291" xlink:to="us-gaap_NetIncomeLoss_638451631019611294" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="6" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_638451631019611294" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638451631019601291" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_638451631019611294" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_638451631019611294" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638451631019601291" xlink:to="us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_638451631019611294" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="6" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_638451631019611294" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638451631019601291" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_638451631019611294" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_638451631019611294" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638451631019601291" xlink:to="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_638451631019611294" order="8" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="6" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockValueSharesIssuedNetOfTaxWithholdings" xlink:label="us-gaap_RestrictedStockValueSharesIssuedNetOfTaxWithholdings_638451631019611294" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638451631019601291" xlink:to="us-gaap_RestrictedStockValueSharesIssuedNetOfTaxWithholdings_638451631019611294" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockSharesIssuedNetOfSharesForTaxWithholdings" xlink:label="us-gaap_RestrictedStockSharesIssuedNetOfSharesForTaxWithholdings_638451631019621291" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638451631019601291" xlink:to="us-gaap_RestrictedStockSharesIssuedNetOfSharesForTaxWithholdings_638451631019621291" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalOther" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalOther_638451631019621291" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638451631019601291" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalOther_638451631019621291" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax_638451631019621291" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638451631019601291" xlink:to="us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax_638451631019621291" order="12" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_638451631019621291" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638451631019601291" xlink:to="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_638451631019621291" order="13" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax_638451631019621291" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638451631019601291" xlink:to="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax_638451631019621291" order="14" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity_638451631019621291" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638451631019601291" xlink:to="us-gaap_StockholdersEquity_638451631019621291" order="15" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonShares" xlink:label="us-gaap_TreasuryStockCommonShares_638451631019621291" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638451631019601291" xlink:to="us-gaap_TreasuryStockCommonShares_638451631019621291" order="16" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesOutstanding" xlink:label="us-gaap_SharesOutstanding_638451631019621291" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems_638451631019601291" xlink:to="us-gaap_SharesOutstanding_638451631019621291" order="17" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows" xlink:type="extended" xlink:title="00400 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="us-gaap_StatementOfCashFlowsAbstract_637049446316531667" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_638451631019631291" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract_637049446316531667" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_638451631019631291" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss_638451631019631291" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_638451631019631291" xlink:to="us-gaap_ProfitLoss_638451631019631291" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638451631019631291" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_638451631019631291" xlink:to="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638451631019631291" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="us-gaap_DepreciationDepletionAndAmortization_638451631019631291" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638451631019631291" xlink:to="us-gaap_DepreciationDepletionAndAmortization_638451631019631291" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation_638451631019631291" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638451631019631291" xlink:to="us-gaap_ShareBasedCompensation_638451631019631291" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxesAndTaxCredits" xlink:label="us-gaap_DeferredIncomeTaxesAndTaxCredits_638451631019631291" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638451631019631291" xlink:to="us-gaap_DeferredIncomeTaxesAndTaxCredits_638451631019631291" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProvisionForLoanLossesExpensed" xlink:label="us-gaap_ProvisionForLoanLossesExpensed_638451631019631291" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638451631019631291" xlink:to="us-gaap_ProvisionForLoanLossesExpensed_638451631019631291" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedContributionPlanIncreaseDecreaseCost" xlink:label="us-gaap_DefinedContributionPlanIncreaseDecreaseCost_638451631019631291" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638451631019631291" xlink:to="us-gaap_DefinedContributionPlanIncreaseDecreaseCost_638451631019631291" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GainLossOnTerminationOfLease" xlink:label="us-gaap_GainLossOnTerminationOfLease_638451631019631291" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638451631019631291" xlink:to="us-gaap_GainLossOnTerminationOfLease_638451631019631291" order="6" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638451631019641290" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_638451631019631291" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638451631019641290" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_638451631019641290" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638451631019641290" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable_638451631019641290" order="1" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_638451631019641290" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638451631019641290" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_638451631019641290" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssets_638451631019641290" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638451631019641290" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingAssets_638451631019641290" order="3" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities_638451631019641290" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638451631019641290" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities_638451631019641290" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities_638451631019641290" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638451631019641290" xlink:to="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities_638451631019641290" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccruedTaxesPayable" xlink:label="us-gaap_IncreaseDecreaseInAccruedTaxesPayable_638451631019641290" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_638451631019641290" xlink:to="us-gaap_IncreaseDecreaseInAccruedTaxesPayable_638451631019641290" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_638451631019641290" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_638451631019631291" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities_638451631019641290" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638451631019641290" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract_637049446316531667" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638451631019641290" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_638451631019651294" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638451631019641290" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_638451631019651294" order="1" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsForProceedsFromShortTermInvestments" xlink:label="us-gaap_PaymentsForProceedsFromShortTermInvestments_638451631019651294" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638451631019641290" xlink:to="us-gaap_PaymentsForProceedsFromShortTermInvestments_638451631019651294" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_638451631019651294" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_638451631019641290" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities_638451631019651294" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638451631019651294" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract_637049446316531667" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638451631019651294" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromStockOptionsExercised" xlink:label="us-gaap_ProceedsFromStockOptionsExercised_638451631019651294" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638451631019651294" xlink:to="us-gaap_ProceedsFromStockOptionsExercised_638451631019651294" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="6" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RepaymentsOfLongTermDebt" xlink:label="us-gaap_RepaymentsOfLongTermDebt_638451631019651294" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638451631019651294" xlink:to="us-gaap_RepaymentsOfLongTermDebt_638451631019651294" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_638451631019651294" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_638451631019651294" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities_638451631019651294" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_638451631019651294" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract_637049446316531667" xlink:to="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_638451631019651294" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_638451631019661291" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract_637049446316531667" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_638451631019661291" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_638451631019661291" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract_637049446316531667" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_638451631019661291" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_6384516310196612911" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract_637049446316531667" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_6384516310196612911" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SupplementalCashFlowInformationAbstract" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract_638451631019661291" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract_637049446316531667" xlink:to="us-gaap_SupplementalCashFlowInformationAbstract_638451631019661291" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_VendorFinancedSoftwareLicensesAcquired" xlink:label="inod_VendorFinancedSoftwareLicensesAcquired_638451631019661291" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract_638451631019661291" xlink:to="inod_VendorFinancedSoftwareLicensesAcquired_638451631019661291" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxesPaid" xlink:label="us-gaap_IncomeTaxesPaid_638451631019661291" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract_638451631019661291" xlink:to="us-gaap_IncomeTaxesPaid_638451631019661291" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeasePayments" xlink:label="us-gaap_OperatingLeasePayments_638451631019661291" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract_638451631019661291" xlink:to="us-gaap_OperatingLeasePayments_638451631019661291" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestPaidNet" xlink:label="us-gaap_InterestPaidNet_638451631019671292" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract_638451631019661291" xlink:to="us-gaap_InterestPaidNet_638451631019671292" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPolicies" xlink:type="extended" xlink:title="10101 - Disclosure - Description of Business and Summary of Significant Accounting Estimates and Policies">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_538" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock" xlink:label="us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock_638451631019671292" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_538" xlink:to="us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock_638451631019671292" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureShortTermInvestmentsOther" xlink:type="extended" xlink:title="10201 - Disclosure - Short Term Investments - other">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermInvestmentsAbstract" xlink:label="us-gaap_ShortTermInvestmentsAbstract" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_ShortTermInvestmentsOthersTextBlock" xlink:label="inod_ShortTermInvestmentsOthersTextBlock_638451631019671292" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShortTermInvestmentsAbstract" xlink:to="inod_ShortTermInvestmentsOthersTextBlock_638451631019671292" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureAccountsReceivable" xlink:type="extended" xlink:title="10301 - Disclosure - Accounts Receivable">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReceivablesAbstract" xlink:label="us-gaap_ReceivablesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsAndNontradeReceivableTextBlock" xlink:label="us-gaap_AccountsAndNontradeReceivableTextBlock_638451631019681299" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReceivablesAbstract" xlink:to="us-gaap_AccountsAndNontradeReceivableTextBlock_638451631019681299" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipment" xlink:type="extended" xlink:title="10401 - Disclosure - Property and equipment">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="us-gaap_PropertyPlantAndEquipmentAbstract_637048505953408497" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_638451631019681299" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentAbstract_637048505953408497" xlink:to="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_638451631019681299" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssets" xlink:type="extended" xlink:title="10501 - Disclosure - Goodwill and Intangible Assets">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock_638451631019681299" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_2" xlink:to="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock_638451631019681299" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureIncomeTaxes" xlink:type="extended" xlink:title="10601 - Disclosure - Income Taxes">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_5" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock_638451631019691293" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_5" xlink:to="us-gaap_IncomeTaxDisclosureTextBlock_638451631019691293" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureLongTermObligations" xlink:type="extended" xlink:title="10701 - Disclosure - Long-term obligations">
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_LongTermObligationsAbstract" xlink:label="inod_LongTermObligationsAbstract" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_LongTermObligationsDisclosureTextBlock" xlink:label="inod_LongTermObligationsDisclosureTextBlock_638451631019691293" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_LongTermObligationsAbstract" xlink:to="inod_LongTermObligationsDisclosureTextBlock_638451631019691293" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureCommitmentsAndContingencies" xlink:type="extended" xlink:title="10801 - Disclosure - Commitments and contingencies">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_8" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_638451631019691293" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_8" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_638451631019691293" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureOperatingLeases" xlink:type="extended" xlink:title="10901 - Disclosure - Operating Leases">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeDisclosureAbstract" xlink:label="us-gaap_LesseeDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeasesTextBlock" xlink:label="us-gaap_LesseeOperatingLeasesTextBlock_638451631019691293" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeDisclosureAbstract" xlink:to="us-gaap_LesseeOperatingLeasesTextBlock_638451631019691293" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosurePensionBenefits" xlink:type="extended" xlink:title="11001 - Disclosure - Pension Benefits">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:label="us-gaap_CompensationAndRetirementDisclosureAbstract_637048505953418677" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" xlink:label="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock_638451631019701293" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract_637048505953418677" xlink:to="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock_638451631019701293" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureCapitalStock" xlink:type="extended" xlink:title="11101 - Disclosure - Capital Stock">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityNoteAbstract" xlink:label="us-gaap_StockholdersEquityNoteAbstract_637048505953428681" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:label="us-gaap_StockholdersEquityNoteDisclosureTextBlock_638451631019701293" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityNoteAbstract_637048505953428681" xlink:to="us-gaap_StockholdersEquityNoteDisclosureTextBlock_638451631019701293" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureStockOptions" xlink:type="extended" xlink:title="11201 - Disclosure - Stock Options">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_11" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_638451631019701293" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_11" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_638451631019701293" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureComprehensiveLoss" xlink:type="extended" xlink:title="11301 - Disclosure - Comprehensive loss">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAbstract" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNoteTextBlock" xlink:label="us-gaap_ComprehensiveIncomeNoteTextBlock_638451631019711293" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxAbstract" xlink:to="us-gaap_ComprehensiveIncomeNoteTextBlock_638451631019711293" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrations" xlink:type="extended" xlink:title="11401 - Disclosure - Segment reporting and concentrations">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingAbstract" xlink:label="loc_us-gaap_SegmentReportingAbstract_20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingDisclosureTextBlock" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock_638451631019711293" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAbstract_20" xlink:to="us-gaap_SegmentReportingDisclosureTextBlock_638451631019711293" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureLossPerShare" xlink:type="extended" xlink:title="11501 - Disclosure - Loss per Share">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="loc_us-gaap_EarningsPerShareAbstract_63" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareTextBlock" xlink:label="us-gaap_EarningsPerShareTextBlock_638451631019711293" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_63" xlink:to="us-gaap_EarningsPerShareTextBlock_638451631019711293" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureDerivatives" xlink:type="extended" xlink:title="11601 - Disclosure - Derivatives">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_66" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock" xlink:label="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock_638451631019721295" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_66" xlink:to="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock_638451631019721295" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureLineOfCredit" xlink:type="extended" xlink:title="11701 - Disclosure - Line of Credit">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityAbstract" xlink:label="us-gaap_LineOfCreditFacilityAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureTextBlock" xlink:label="us-gaap_DebtDisclosureTextBlock_638451631019721295" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityAbstract" xlink:to="us-gaap_DebtDisclosureTextBlock_638451631019721295" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureSubsequentEvent" xlink:type="extended" xlink:title="11801 - Disclosure - Subsequent Event">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventsAbstract" xlink:label="us-gaap_SubsequentEventsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventsTextBlock" xlink:label="us-gaap_SubsequentEventsTextBlock_638451631019721295" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventsAbstract" xlink:to="us-gaap_SubsequentEventsTextBlock_638451631019721295" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesPolicies" xlink:type="extended" xlink:title="20102 - Disclosure - Description of Business and Summary of Significant Accounting Estimates and Policies (Policies)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_72" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationsPolicy" xlink:label="us-gaap_BusinessCombinationsPolicy_638451631019731292" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_72" xlink:to="us-gaap_BusinessCombinationsPolicy_638451631019731292" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConsolidationPolicyTextBlock" xlink:label="us-gaap_ConsolidationPolicyTextBlock_638451631019731292" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_72" xlink:to="us-gaap_ConsolidationPolicyTextBlock_638451631019731292" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UseOfEstimates" xlink:label="us-gaap_UseOfEstimates_638451631019731292" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_72" xlink:to="us-gaap_UseOfEstimates_638451631019731292" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRecognitionPolicyTextBlock" xlink:label="us-gaap_RevenueRecognitionPolicyTextBlock_638451631019731292" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_72" xlink:to="us-gaap_RevenueRecognitionPolicyTextBlock_638451631019731292" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:label="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_638451631019731292" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_72" xlink:to="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_638451631019731292" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativesPolicyTextBlock" xlink:label="us-gaap_DerivativesPolicyTextBlock_638451631019731292" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_72" xlink:to="us-gaap_DerivativesPolicyTextBlock_638451631019731292" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:label="us-gaap_CashAndCashEquivalentsPolicyTextBlock_638451631019731292" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_72" xlink:to="us-gaap_CashAndCashEquivalentsPolicyTextBlock_638451631019731292" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InvestmentPolicyTextBlock" xlink:label="us-gaap_InvestmentPolicyTextBlock_638451631019731292" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_72" xlink:to="us-gaap_InvestmentPolicyTextBlock_638451631019731292" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskCreditRisk" xlink:label="us-gaap_ConcentrationRiskCreditRisk_638451631019731292" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_72" xlink:to="us-gaap_ConcentrationRiskCreditRisk_638451631019731292" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:label="us-gaap_TradeAndOtherAccountsReceivablePolicy_638451631019741295" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_72" xlink:to="us-gaap_TradeAndOtherAccountsReceivablePolicy_638451631019741295" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_638451631019741295" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_72" xlink:to="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_638451631019741295" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock" xlink:label="us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock_638451631019741295" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_72" xlink:to="us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock_638451631019741295" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:label="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_638451631019741295" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_72" xlink:to="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_638451631019741295" order="13" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock" xlink:label="us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock_638451631019741295" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_72" xlink:to="us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock_638451631019741295" order="14" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxPolicyTextBlock" xlink:label="us-gaap_IncomeTaxPolicyTextBlock_638451631019741295" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_72" xlink:to="us-gaap_IncomeTaxPolicyTextBlock_638451631019741295" order="15" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LessorLeasesPolicyTextBlock" xlink:label="us-gaap_LessorLeasesPolicyTextBlock_638451631019741295" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_72" xlink:to="us-gaap_LessorLeasesPolicyTextBlock_638451631019741295" order="16" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:label="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_638451631019741295" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_72" xlink:to="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_638451631019741295" order="17" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:label="us-gaap_FairValueOfFinancialInstrumentsPolicy_638451631019741295" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_72" xlink:to="us-gaap_FairValueOfFinancialInstrumentsPolicy_638451631019741295" order="18" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerSharePolicyTextBlock" xlink:label="us-gaap_EarningsPerSharePolicyTextBlock_638451631019751293" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_72" xlink:to="us-gaap_EarningsPerSharePolicyTextBlock_638451631019751293" order="19" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PensionAndOtherPostretirementPlansPensionsPolicy" xlink:label="us-gaap_PensionAndOtherPostretirementPlansPensionsPolicy_638451631019751293" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_72" xlink:to="us-gaap_PensionAndOtherPostretirementPlansPensionsPolicy_638451631019751293" order="20" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:label="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_638451631019751293" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_72" xlink:to="us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_638451631019751293" order="21" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_638451631019751293" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_72" xlink:to="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_638451631019751293" order="22" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesTables" xlink:type="extended" xlink:title="30103 - Disclosure - Description of Business and Summary of Significant Accounting Estimates and Policies (Tables)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock" xlink:label="us-gaap_ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock_638451631019751293" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock_638451631019751293" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredRevenueByArrangementDisclosureTextBlock" xlink:label="us-gaap_DeferredRevenueByArrangementDisclosureTextBlock_638451631019761293" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_DeferredRevenueByArrangementDisclosureTextBlock_638451631019761293" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureShortTermInvestmentsOtherTables" xlink:type="extended" xlink:title="30203 - Disclosure - Short Term Investments - other (Tables)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermInvestmentsAbstract" xlink:label="us-gaap_ShortTermInvestmentsAbstract_1" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_ShortTermInvestmentsOtherReadilyMarketableTableTextBlock" xlink:label="inod_ShortTermInvestmentsOtherReadilyMarketableTableTextBlock_638451631019761293" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShortTermInvestmentsAbstract_1" xlink:to="inod_ShortTermInvestmentsOtherReadilyMarketableTableTextBlock_638451631019761293" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureAccountsReceivableTables" xlink:type="extended" xlink:title="30303 - Disclosure - Accounts Receivable (Tables)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReceivablesAbstract" xlink:label="us-gaap_ReceivablesAbstract_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" xlink:label="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock_638451631019761293" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReceivablesAbstract_1" xlink:to="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock_638451631019761293" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock" xlink:label="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock_638451631019761293" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReceivablesAbstract_1" xlink:to="us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock_638451631019761293" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentTables" xlink:type="extended" xlink:title="30403 - Disclosure - Property and equipment (Tables)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="us-gaap_PropertyPlantAndEquipmentAbstract_637048505953458703" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock_638451631019771291" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentAbstract_637048505953458703" xlink:to="us-gaap_PropertyPlantAndEquipmentTextBlock_638451631019771291" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsTables" xlink:type="extended" xlink:title="30503 - Disclosure - Goodwill and Intangible Assets (Tables)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_84" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfGoodwillTextBlock" xlink:label="us-gaap_ScheduleOfGoodwillTextBlock_638451631019771291" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_84" xlink:to="us-gaap_ScheduleOfGoodwillTextBlock_638451631019771291" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_638451631019771291" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_84" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_638451631019771291" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:label="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_638451631019771291" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_84" xlink:to="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_638451631019771291" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTables" xlink:type="extended" xlink:title="30603 - Disclosure - Income Taxes (Tables)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="us-gaap_IncomeTaxDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:label="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_638451631019781292" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_638451631019781292" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_638451631019781292" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_638451631019781292" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:label="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_638451631019781292" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_638451631019781292" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" xlink:label="us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock_638451631019781292" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock_638451631019781292" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock" xlink:label="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock_638451631019781292" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock_638451631019781292" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureLongTermObligationsTables" xlink:type="extended" xlink:title="30703 - Disclosure - Long-term obligations (Tables)">
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_LongTermObligationsAbstract" xlink:label="inod_LongTermObligationsAbstract" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_LongTermObligationsDisclosureTableTextBlock" xlink:label="inod_LongTermObligationsDisclosureTableTextBlock_638451631019781292" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_LongTermObligationsAbstract" xlink:to="inod_LongTermObligationsDisclosureTableTextBlock_638451631019781292" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureOperatingLeasesTables" xlink:type="extended" xlink:title="30903 - Disclosure - Operating Leases (Tables)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeDisclosureAbstract" xlink:label="us-gaap_LesseeDisclosureAbstract_1" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_ScheduleOfOperatingLeaseExpenseRecognizedInFinancialStatementsTableTextBlock" xlink:label="inod_ScheduleOfOperatingLeaseExpenseRecognizedInFinancialStatementsTableTextBlock_638451631019791295" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeDisclosureAbstract_1" xlink:to="inod_ScheduleOfOperatingLeaseExpenseRecognizedInFinancialStatementsTableTextBlock_638451631019791295" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_638451631019791295" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeDisclosureAbstract_1" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_638451631019791295" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_ScheduleOfWeightedAverageRemainingLeaseTermsAndDiscountRatesTableTextBlock" xlink:label="inod_ScheduleOfWeightedAverageRemainingLeaseTermsAndDiscountRatesTableTextBlock_638451631019791295" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeDisclosureAbstract_1" xlink:to="inod_ScheduleOfWeightedAverageRemainingLeaseTermsAndDiscountRatesTableTextBlock_638451631019791295" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosurePensionBenefitsTables" xlink:type="extended" xlink:title="31003 - Disclosure - Pension Benefits (Tables)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:label="us-gaap_CompensationAndRetirementDisclosureAbstract_637048505953478717" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfChangesInAccumulatedPostemploymentBenefitObligationsTableTextBlock" xlink:label="us-gaap_ScheduleOfChangesInAccumulatedPostemploymentBenefitObligationsTableTextBlock_638451631019791295" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract_637048505953478717" xlink:to="us-gaap_ScheduleOfChangesInAccumulatedPostemploymentBenefitObligationsTableTextBlock_638451631019791295" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfNetBenefitCostsTableTextBlock" xlink:label="us-gaap_ScheduleOfNetBenefitCostsTableTextBlock_638451631019791295" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract_637048505953478717" xlink:to="us-gaap_ScheduleOfNetBenefitCostsTableTextBlock_638451631019791295" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAmountsRecognizedInBalanceSheetTableTextBlock" xlink:label="us-gaap_ScheduleOfAmountsRecognizedInBalanceSheetTableTextBlock_638451631019791295" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract_637048505953478717" xlink:to="us-gaap_ScheduleOfAmountsRecognizedInBalanceSheetTableTextBlock_638451631019791295" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAssumptionsUsedTableTextBlock" xlink:label="us-gaap_ScheduleOfAssumptionsUsedTableTextBlock_638451631019791295" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract_637048505953478717" xlink:to="us-gaap_ScheduleOfAssumptionsUsedTableTextBlock_638451631019791295" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfExpectedBenefitPaymentsTableTextBlock" xlink:label="us-gaap_ScheduleOfExpectedBenefitPaymentsTableTextBlock_638451631019791295" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract_637048505953478717" xlink:to="us-gaap_ScheduleOfExpectedBenefitPaymentsTableTextBlock_638451631019791295" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureStockOptionsTables" xlink:type="extended" xlink:title="31203 - Disclosure - Stock Options (Tables)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_105" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_StockOptionsTable" xlink:label="inod_StockOptionsTable_638451631019801298" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_105" xlink:to="inod_StockOptionsTable_638451631019801298" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis_638451631019801298" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_StockOptionsTable_638451631019801298" xlink:to="us-gaap_AwardTypeAxis_638451631019801298" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638451631019801298" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis_638451631019801298" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638451631019801298" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember_638451631019801298" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638451631019801298" xlink:to="us-gaap_RestrictedStockUnitsRSUMember_638451631019801298" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis_638451631019801298" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_StockOptionsTable_638451631019801298" xlink:to="us-gaap_PlanNameAxis_638451631019801298" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain_638451631019801298" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameAxis_638451631019801298" xlink:to="us-gaap_PlanNameDomain_638451631019801298" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_EquityPlansMember" xlink:label="inod_EquityPlansMember_638451631019801298" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameDomain_638451631019801298" xlink:to="inod_EquityPlansMember_638451631019801298" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_StockOptionsLineItems" xlink:label="inod_StockOptionsLineItems_638451631019801298" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_StockOptionsTable_638451631019801298" xlink:to="inod_StockOptionsLineItems_638451631019801298" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_638451631019801298" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_StockOptionsLineItems_638451631019801298" xlink:to="us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_638451631019801298" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_638451631019801298" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_StockOptionsLineItems_638451631019801298" xlink:to="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_638451631019801298" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock_638451631019811301" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_StockOptionsLineItems_638451631019801298" xlink:to="us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock_638451631019811301" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureComprehensiveLossTables" xlink:type="extended" xlink:title="31303 - Disclosure - Comprehensive loss (Tables)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAbstract" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock" xlink:label="us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock_638451631019811301" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxAbstract" xlink:to="us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock_638451631019811301" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsTables" xlink:type="extended" xlink:title="31403 - Disclosure - Segment reporting and concentrations (Tables)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingAbstract" xlink:label="loc_us-gaap_SegmentReportingAbstract_115" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock_638451631019811301" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAbstract_115" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock_638451631019811301" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock" xlink:label="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock_638451631019811301" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAbstract_115" xlink:to="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock_638451631019811301" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock" xlink:label="us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock_638451631019811301" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAbstract_115" xlink:to="us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock_638451631019811301" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureLossPerShareTables" xlink:type="extended" xlink:title="31503 - Disclosure - Loss per Share (Tables)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="loc_us-gaap_EarningsPerShareAbstract_120" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_638451631019821302" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_120" xlink:to="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_638451631019821302" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureDerivativesTables" xlink:type="extended" xlink:title="31603 - Disclosure - Derivatives (Tables)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_123" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock" xlink:label="us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock_638451631019821302" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_123" xlink:to="us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock_638451631019821302" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock" xlink:label="us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_638451631019821302" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_123" xlink:to="us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_638451631019821302" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDetails" xlink:type="extended" xlink:title="40101 - Disclosure - Description of Business and Summary of Significant Accounting Estimates and Policies (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_160" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesTable" xlink:label="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesTable_638451631019831299" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_160" xlink:to="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesTable_638451631019831299" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis_638451631019831299" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesTable_638451631019831299" xlink:to="srt_StatementGeographicalAxis_638451631019831299" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain_638451631019831299" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis_638451631019831299" xlink:to="srt_SegmentGeographicalDomain_638451631019831299" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_AsiaMember" xlink:label="srt_AsiaMember_638451631019831299" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_638451631019831299" xlink:to="srt_AsiaMember_638451631019831299" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_US" xlink:label="country_US_638451631019831299" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_638451631019831299" xlink:to="country_US_638451631019831299" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis_638451631019831299" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesTable_638451631019831299" xlink:to="srt_RangeAxis_638451631019831299" order="2" use="optional" priority="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember_638451631019831299" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis_638451631019831299" xlink:to="srt_RangeMember_638451631019831299" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember_638451631019831299" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638451631019831299" xlink:to="srt_MinimumMember_638451631019831299" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember_638451631019831299" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638451631019831299" xlink:to="srt_MaximumMember_638451631019831299" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis_638451631019831299" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesTable_638451631019831299" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis_638451631019831299" order="3" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain_638451631019831299" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis_638451631019831299" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain_638451631019831299" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SoftwareDevelopmentMember" xlink:label="us-gaap_SoftwareDevelopmentMember_638451631019841302" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638451631019831299" xlink:to="us-gaap_SoftwareDevelopmentMember_638451631019841302" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InProcessResearchAndDevelopmentMember" xlink:label="us-gaap_InProcessResearchAndDevelopmentMember_638451631019841302" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638451631019831299" xlink:to="us-gaap_InProcessResearchAndDevelopmentMember_638451631019841302" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems" xlink:label="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems_638451631019841302" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesTable_638451631019831299" xlink:to="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems_638451631019841302" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NumberOfReportableSegments" xlink:label="us-gaap_NumberOfReportableSegments_638451631019841302" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems_638451631019841302" xlink:to="us-gaap_NumberOfReportableSegments_638451631019841302" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CapitalizedContractCostAmortizationPeriod" xlink:label="us-gaap_CapitalizedContractCostAmortizationPeriod_638451631019841302" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems_638451631019841302" xlink:to="us-gaap_CapitalizedContractCostAmortizationPeriod_638451631019841302" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets" xlink:label="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets_638451631019841302" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems_638451631019841302" xlink:to="us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets_638451631019841302" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:label="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_638451631019841302" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems_638451631019841302" xlink:to="us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_638451631019841302" order="4" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife_638451631019841302" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems_638451631019841302" xlink:to="us-gaap_FiniteLivedIntangibleAssetUsefulLife_638451631019841302" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignCurrencyContractAssetFairValueDisclosure" xlink:label="us-gaap_ForeignCurrencyContractAssetFairValueDisclosure_638451631019841302" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems_638451631019841302" xlink:to="us-gaap_ForeignCurrencyContractAssetFairValueDisclosure_638451631019841302" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_638451631019841302" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems_638451631019841302" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue_638451631019841302" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife_638451631019851299" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems_638451631019841302" xlink:to="us-gaap_PropertyPlantAndEquipmentUsefulLife_638451631019851299" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="6" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" xlink:label="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization_638451631019851299" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems_638451631019841302" xlink:to="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization_638451631019851299" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredRevenue" xlink:label="us-gaap_DeferredRevenue_638451631019851299" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems_638451631019841302" xlink:to="us-gaap_DeferredRevenue_638451631019851299" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesStockBasedCompensationDetails" xlink:type="extended" xlink:title="40102 - Disclosure - Description of Business and Summary of Significant Accounting Estimates and Policies - Stock-based compensation (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract_637048505953498732" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockOptionPlanExpense" xlink:label="us-gaap_StockOptionPlanExpense_638451631019851299" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract_637048505953498732" xlink:to="us-gaap_StockOptionPlanExpense_638451631019851299" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherSellingGeneralAndAdministrativeExpense" xlink:label="us-gaap_OtherSellingGeneralAndAdministrativeExpense_638451631019851299" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract_637048505953498732" xlink:to="us-gaap_OtherSellingGeneralAndAdministrativeExpense_638451631019851299" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation_638451631019851299" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract_637048505953498732" xlink:to="us-gaap_ShareBasedCompensation_638451631019851299" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDeferredRevenueDetails" xlink:type="extended" xlink:title="40103 - Disclosure - Description of Business and Summary of Significant Accounting Estimates and Policies - Deferred revenue (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract_2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredRevenue" xlink:label="us-gaap_DeferredRevenue_638451631019861301" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract_2" xlink:to="us-gaap_DeferredRevenue_638451631019861301" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredRevenuePeriodIncreaseDecrease" xlink:label="us-gaap_DeferredRevenuePeriodIncreaseDecrease_638451631019861301" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract_2" xlink:to="us-gaap_DeferredRevenuePeriodIncreaseDecrease_638451631019861301" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredRevenueRevenueRecognized1" xlink:label="us-gaap_DeferredRevenueRevenueRecognized1_638451631019861301" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract_2" xlink:to="us-gaap_DeferredRevenueRevenueRecognized1_638451631019861301" order="3" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments" xlink:label="us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments_638451631019861301" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract_2" xlink:to="us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments_638451631019861301" order="4" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredRevenue" xlink:label="us-gaap_DeferredRevenue_6384516310198613011" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract_2" xlink:to="us-gaap_DeferredRevenue_6384516310198613011" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" priority="2" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureShortTermInvestmentsOtherDetails" xlink:type="extended" xlink:title="40201 - Disclosure - Short Term Investments - other (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermInvestmentsAbstract" xlink:label="us-gaap_ShortTermInvestmentsAbstract_3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MoneyMarketFundsAtCarryingValue" xlink:label="us-gaap_MoneyMarketFundsAtCarryingValue_638451631019861301" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShortTermInvestmentsAbstract_3" xlink:to="us-gaap_MoneyMarketFundsAtCarryingValue_638451631019861301" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CertificatesOfDepositAtCarryingValue" xlink:label="us-gaap_CertificatesOfDepositAtCarryingValue_638451631019861301" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShortTermInvestmentsAbstract_3" xlink:to="us-gaap_CertificatesOfDepositAtCarryingValue_638451631019861301" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherShortTermInvestments" xlink:label="us-gaap_OtherShortTermInvestments_638451631019871305" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShortTermInvestmentsAbstract_3" xlink:to="us-gaap_OtherShortTermInvestments_638451631019871305" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureAccountsReceivableDetails" xlink:type="extended" xlink:title="40301 - Disclosure - Accounts Receivable (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReceivablesAbstract" xlink:label="us-gaap_ReceivablesAbstract_2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableGrossCurrent" xlink:label="us-gaap_AccountsReceivableGrossCurrent_638451631019871305" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReceivablesAbstract_2" xlink:to="us-gaap_AccountsReceivableGrossCurrent_638451631019871305" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_638451631019871305" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReceivablesAbstract_2" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_638451631019871305" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent_638451631019871305" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReceivablesAbstract_2" xlink:to="us-gaap_AccountsReceivableNetCurrent_638451631019871305" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureAccountsReceivableActivityInAllowanceForCreditLossesDetails" xlink:type="extended" xlink:title="40302 - Disclosure - Accounts Receivable - Activity in allowance for credit losses (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReceivablesAbstract" xlink:label="us-gaap_ReceivablesAbstract_3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_638451631019871305" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReceivablesAbstract_3" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_638451631019871305" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="us-gaap_ProvisionForDoubtfulAccounts_638451631019871305" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReceivablesAbstract_3" xlink:to="us-gaap_ProvisionForDoubtfulAccounts_638451631019871305" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs_638451631019881302" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReceivablesAbstract_3" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs_638451631019881302" order="3" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancingReceivableAllowanceForCreditLossForeignCurrencyTranslation" xlink:label="us-gaap_FinancingReceivableAllowanceForCreditLossForeignCurrencyTranslation_638451631019881302" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReceivablesAbstract_3" xlink:to="us-gaap_FinancingReceivableAllowanceForCreditLossForeignCurrencyTranslation_638451631019881302" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_638451631019881302" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ReceivablesAbstract_3" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_638451631019881302" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" priority="2" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentPropertyAndEquipmentDetails" xlink:type="extended" xlink:title="40401 - Disclosure - Property and equipment - Property and equipment (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="us-gaap_PropertyPlantAndEquipmentAbstract_637048505953818778" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_638451631019881302" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentAbstract_637048505953818778" xlink:to="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_638451631019881302" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis_638451631019881302" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_638451631019881302" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis_638451631019881302" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain_638451631019881302" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis_638451631019881302" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain_638451631019881302" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquipmentMember" xlink:label="us-gaap_EquipmentMember_638451631019881302" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638451631019881302" xlink:to="us-gaap_EquipmentMember_638451631019881302" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComputerSoftwareIntangibleAssetMember" xlink:label="us-gaap_ComputerSoftwareIntangibleAssetMember_638451631019881302" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638451631019881302" xlink:to="us-gaap_ComputerSoftwareIntangibleAssetMember_638451631019881302" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FurnitureAndFixturesMember" xlink:label="us-gaap_FurnitureAndFixturesMember_638451631019881302" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638451631019881302" xlink:to="us-gaap_FurnitureAndFixturesMember_638451631019881302" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="us-gaap_LeaseholdImprovementsMember_638451631019881302" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638451631019881302" xlink:to="us-gaap_LeaseholdImprovementsMember_638451631019881302" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConstructionInProgressMember" xlink:label="us-gaap_ConstructionInProgressMember_638451631019891300" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638451631019881302" xlink:to="us-gaap_ConstructionInProgressMember_638451631019891300" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems_638451631019891300" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_638451631019881302" xlink:to="us-gaap_PropertyPlantAndEquipmentLineItems_638451631019891300" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization" xlink:label="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization_638451631019891300" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems_638451631019891300" xlink:to="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization_638451631019891300" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization" xlink:label="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization_638451631019891300" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems_638451631019891300" xlink:to="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization_638451631019891300" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="6" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization" xlink:label="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_638451631019891300" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems_638451631019891300" xlink:to="us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization_638451631019891300" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="4" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentAdditionalInformationDetails" xlink:type="extended" xlink:title="40402 - Disclosure - Property and equipment - Additional Information (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="us-gaap_PropertyPlantAndEquipmentAbstract_637048505953828785" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_638451631019891300" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentAbstract_637048505953828785" xlink:to="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_638451631019891300" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis_638451631019891300" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_638451631019891300" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis_638451631019891300" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain_638451631019891300" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis_638451631019891300" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain_638451631019891300" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentMember" xlink:label="us-gaap_PropertyPlantAndEquipmentMember_638451631019901298" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638451631019891300" xlink:to="us-gaap_PropertyPlantAndEquipmentMember_638451631019901298" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis_638451631019901298" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_638451631019891300" xlink:to="srt_RangeAxis_638451631019901298" order="2" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember_638451631019901298" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis_638451631019901298" xlink:to="srt_RangeMember_638451631019901298" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember_638451631019901298" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638451631019901298" xlink:to="srt_MinimumMember_638451631019901298" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember_638451631019901298" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638451631019901298" xlink:to="srt_MaximumMember_638451631019901298" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems_638451631019901298" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_638451631019891300" xlink:to="us-gaap_PropertyPlantAndEquipmentLineItems_638451631019901298" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife_638451631019901298" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems_638451631019901298" xlink:to="us-gaap_PropertyPlantAndEquipmentUsefulLife_638451631019901298" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="us-gaap_DepreciationDepletionAndAmortization_638451631019901298" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems_638451631019901298" xlink:to="us-gaap_DepreciationDepletionAndAmortization_638451631019901298" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsChangesInCarryingAmountOfGoodwillDetails" xlink:type="extended" xlink:title="40501 - Disclosure - Goodwill and Intangible Assets - Changes in carrying amount of goodwill (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_194" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill_638451631019901298" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_194" xlink:to="us-gaap_Goodwill_638451631019901298" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillForeignCurrencyTranslationGainLoss" xlink:label="us-gaap_GoodwillForeignCurrencyTranslationGainLoss_638451631019911300" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_194" xlink:to="us-gaap_GoodwillForeignCurrencyTranslationGainLoss_638451631019911300" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill_638451631019911300" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_194" xlink:to="us-gaap_Goodwill_638451631019911300" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsDetails" xlink:type="extended" xlink:title="40502 - Disclosure - Goodwill and Intangible Assets (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_236" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_638451631019911300" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_236" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_638451631019911300" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_638451631019911300" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_638451631019911300" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_638451631019911300" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_638451631019911300" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_638451631019911300" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_638451631019911300" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_AcquiredIntangibleAssetsMember" xlink:label="inod_AcquiredIntangibleAssetsMember_638451631019911300" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_638451631019911300" xlink:to="inod_AcquiredIntangibleAssetsMember_638451631019911300" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComputerSoftwareIntangibleAssetMember" xlink:label="us-gaap_ComputerSoftwareIntangibleAssetMember_638451631019911300" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_638451631019911300" xlink:to="us-gaap_ComputerSoftwareIntangibleAssetMember_638451631019911300" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems_638451631019911300" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_638451631019911300" xlink:to="us-gaap_FiniteLivedIntangibleAssetsLineItems_638451631019911300" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillImpairmentLoss" xlink:label="us-gaap_GoodwillImpairmentLoss_638451631019911300" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems_638451631019911300" xlink:to="us-gaap_GoodwillImpairmentLoss_638451631019911300" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill_638451631019911300" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems_638451631019911300" xlink:to="us-gaap_Goodwill_638451631019911300" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets_638451631019921305" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems_638451631019911300" xlink:to="us-gaap_AmortizationOfIntangibleAssets_638451631019921305" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails" xlink:type="extended" xlink:title="40503 - Disclosure - Goodwill and Intangible Assets - Acquisition-related intangible assets (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_638451631019921305" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_1" xlink:to="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_638451631019921305" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_638451631019921305" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_638451631019921305" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_638451631019921305" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_638451631019921305" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_638451631019921305" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_638451631019921305" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_AcquiredIntangibleAssetsMember" xlink:label="inod_AcquiredIntangibleAssetsMember_638451631019921305" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_638451631019921305" xlink:to="inod_AcquiredIntangibleAssetsMember_638451631019921305" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DevelopedTechnologyRightsMember" xlink:label="us-gaap_DevelopedTechnologyRightsMember_638451631019921305" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_AcquiredIntangibleAssetsMember_638451631019921305" xlink:to="us-gaap_DevelopedTechnologyRightsMember_638451631019921305" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="us-gaap_CustomerRelationshipsMember_638451631019921305" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_AcquiredIntangibleAssetsMember_638451631019921305" xlink:to="us-gaap_CustomerRelationshipsMember_638451631019921305" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TrademarksAndTradeNamesMember" xlink:label="us-gaap_TrademarksAndTradeNamesMember_638451631019921305" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_AcquiredIntangibleAssetsMember_638451631019921305" xlink:to="us-gaap_TrademarksAndTradeNamesMember_638451631019921305" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PatentsMember" xlink:label="us-gaap_PatentsMember_638451631019921305" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_AcquiredIntangibleAssetsMember_638451631019921305" xlink:to="us-gaap_PatentsMember_638451631019921305" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DatabasesMember" xlink:label="us-gaap_DatabasesMember_638451631019931304" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_AcquiredIntangibleAssetsMember_638451631019921305" xlink:to="us-gaap_DatabasesMember_638451631019931304" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComputerSoftwareIntangibleAssetMember" xlink:label="us-gaap_ComputerSoftwareIntangibleAssetMember_638451631019931304" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_638451631019921305" xlink:to="us-gaap_ComputerSoftwareIntangibleAssetMember_638451631019931304" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_CapitalizedSoftwareDevelopmentCostMember" xlink:label="inod_CapitalizedSoftwareDevelopmentCostMember_638451631019931304" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComputerSoftwareIntangibleAssetMember_638451631019931304" xlink:to="inod_CapitalizedSoftwareDevelopmentCostMember_638451631019931304" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember" xlink:label="inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember_638451631019931304" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComputerSoftwareIntangibleAssetMember_638451631019931304" xlink:to="inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember_638451631019931304" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="us-gaap_FiniteLivedIntangibleAssetsLineItems_638451631019931304" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_638451631019921305" xlink:to="us-gaap_FiniteLivedIntangibleAssetsLineItems_638451631019931304" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross_638451631019931304" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems_638451631019931304" xlink:to="us-gaap_FiniteLivedIntangibleAssetsGross_638451631019931304" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_638451631019931304" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems_638451631019931304" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_638451631019931304" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment" xlink:label="inod_FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment_638451631019931304" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems_638451631019931304" xlink:to="inod_FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment_638451631019931304" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_638451631019931304" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsLineItems_638451631019931304" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet_638451631019931304" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedAmortizationExpenseDetails" xlink:type="extended" xlink:title="40504 - Disclosure - Goodwill and Intangible Assets - Estimated amortization expense (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_637505936525296591" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_638451631019941300" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_637505936525296591" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_638451631019941300" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_638451631019941300" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_637505936525296591" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_638451631019941300" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_638451631019941300" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_637505936525296591" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_638451631019941300" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_638451631019941300" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_637505936525296591" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_638451631019941300" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_638451631019941300" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_637505936525296591" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_638451631019941300" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_FiniteLivedIntangibleAssetExpectedAmortizationThereafter" xlink:label="inod_FiniteLivedIntangibleAssetExpectedAmortizationThereafter_638451631019941300" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_637505936525296591" xlink:to="inod_FiniteLivedIntangibleAssetExpectedAmortizationThereafter_638451631019941300" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_638451631019941300" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_637505936525296591" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet_638451631019941300" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureIncomeTaxesComponentsOfProvisionForIncomeTaxesDetails" xlink:type="extended" xlink:title="40601 - Disclosure - Income Taxes - Components of provision for income taxes (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="us-gaap_IncomeTaxDisclosureAbstract_637048505953948876" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_638451631019941300" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract_637048505953948876" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_638451631019941300" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentForeignTaxExpenseBenefit" xlink:label="us-gaap_CurrentForeignTaxExpenseBenefit_638451631019951301" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_638451631019941300" xlink:to="us-gaap_CurrentForeignTaxExpenseBenefit_638451631019951301" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentFederalTaxExpenseBenefit" xlink:label="us-gaap_CurrentFederalTaxExpenseBenefit_638451631019951301" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_638451631019941300" xlink:to="us-gaap_CurrentFederalTaxExpenseBenefit_638451631019951301" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentStateAndLocalTaxExpenseBenefit" xlink:label="us-gaap_CurrentStateAndLocalTaxExpenseBenefit_638451631019951301" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_638451631019941300" xlink:to="us-gaap_CurrentStateAndLocalTaxExpenseBenefit_638451631019951301" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit_638451631019951301" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract_638451631019941300" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefit_638451631019951301" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_638451631019951301" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract_637048505953948876" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_638451631019951301" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredForeignIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredForeignIncomeTaxExpenseBenefit_638451631019951301" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_638451631019951301" xlink:to="us-gaap_DeferredForeignIncomeTaxExpenseBenefit_638451631019951301" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredFederalIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredFederalIncomeTaxExpenseBenefit_638451631019951301" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_638451631019951301" xlink:to="us-gaap_DeferredFederalIncomeTaxExpenseBenefit_638451631019951301" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit_638451631019951301" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract_638451631019951301" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit_638451631019951301" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit_638451631019951301" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract_637048505953948876" xlink:to="us-gaap_IncomeTaxExpenseBenefit_638451631019951301" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails" xlink:type="extended" xlink:title="40602 - Disclosure - Income Taxes - Tax rate reconciliation (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="us-gaap_IncomeTaxDisclosureAbstract_637505925387840601" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRateBenefitExpense" xlink:label="inod_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRateBenefitExpense_638451631019961303" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract_637505925387840601" xlink:to="inod_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRateBenefitExpense_638451631019961303" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638451631019961303" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract_637505925387840601" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638451631019961303" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_638451631019961303" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638451631019961303" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance_638451631019961303" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingenciesForeign" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingenciesForeign_638451631019961303" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638451631019961303" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingenciesForeign_638451631019961303" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_EffectiveIncomeTaxRateReconciliationSection162Percentage" xlink:label="inod_EffectiveIncomeTaxRateReconciliationSection162Percentage_638451631019961303" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638451631019961303" xlink:to="inod_EffectiveIncomeTaxRateReconciliationSection162Percentage_638451631019961303" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_EffectiveIncomeTaxRateReconciliationReturnToProvisionTrueUp" xlink:label="inod_EffectiveIncomeTaxRateReconciliationReturnToProvisionTrueUp_638451631019961303" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638451631019961303" xlink:to="inod_EffectiveIncomeTaxRateReconciliationReturnToProvisionTrueUp_638451631019961303" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_EffectiveIncomeTaxRateReconciliationIncreaseInUnrecognizedTaxBenefits" xlink:label="inod_EffectiveIncomeTaxRateReconciliationIncreaseInUnrecognizedTaxBenefits_638451631019961303" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638451631019961303" xlink:to="inod_EffectiveIncomeTaxRateReconciliationIncreaseInUnrecognizedTaxBenefits_638451631019961303" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_EffectiveIncomeTaxRateReconciliationWithholdingTaxPercentage" xlink:label="inod_EffectiveIncomeTaxRateReconciliationWithholdingTaxPercentage_638451631019961303" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638451631019961303" xlink:to="inod_EffectiveIncomeTaxRateReconciliationWithholdingTaxPercentage_638451631019961303" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_ForeignOperationsPermanentDifferenceForeignExchangeGainsAndLosses" xlink:label="inod_ForeignOperationsPermanentDifferenceForeignExchangeGainsAndLosses_638451631019961303" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638451631019961303" xlink:to="inod_ForeignOperationsPermanentDifferenceForeignExchangeGainsAndLosses_638451631019961303" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_638451631019961303" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638451631019961303" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_638451631019961303" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch_638451631019961303" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638451631019961303" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch_638451631019961303" order="9" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_638451631019971304" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638451631019961303" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_638451631019971304" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_EffectiveIncomeTaxRateReconciliationDeemedInterestPercent" xlink:label="inod_EffectiveIncomeTaxRateReconciliationDeemedInterestPercent_638451631019971304" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638451631019961303" xlink:to="inod_EffectiveIncomeTaxRateReconciliationDeemedInterestPercent_638451631019971304" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_EffectiveIncomeTaxRateReconciliationTaxSettlementIntercompanyPercent" xlink:label="inod_EffectiveIncomeTaxRateReconciliationTaxSettlementIntercompanyPercent_638451631019971304" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638451631019961303" xlink:to="inod_EffectiveIncomeTaxRateReconciliationTaxSettlementIntercompanyPercent_638451631019971304" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_638451631019971304" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638451631019961303" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent_638451631019971304" order="13" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="7" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent_638451631019971304" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638451631019961303" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent_638451631019971304" order="14" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations_638451631019971304" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract_638451631019961303" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperations_638451631019971304" order="15" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails" xlink:type="extended" xlink:title="40603 - Disclosure - Income Taxes - Deferred tax assets and liabilities (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="us-gaap_IncomeTaxDisclosureAbstract_637048505954028930" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsGrossAbstract" xlink:label="us-gaap_DeferredTaxAssetsGrossAbstract_638451631019971304" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract_637048505954028930" xlink:to="us-gaap_DeferredTaxAssetsGrossAbstract_638451631019971304" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals_638451631019971304" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract_638451631019971304" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals_638451631019971304" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment" xlink:label="us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment_638451631019981303" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract_638451631019971304" xlink:to="us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment_638451631019981303" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits_638451631019981303" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract_638451631019971304" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits_638451631019981303" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwards" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_638451631019981303" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract_638451631019971304" xlink:to="us-gaap_DeferredTaxAssetsOperatingLossCarryforwards_638451631019981303" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch" xlink:label="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch_638451631019981303" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract_638451631019971304" xlink:to="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch_638451631019981303" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_DeferredTaxAssetsExpensesNotDeductibleUntilPaid" xlink:label="inod_DeferredTaxAssetsExpensesNotDeductibleUntilPaid_638451631019981303" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract_638451631019971304" xlink:to="inod_DeferredTaxAssetsExpensesNotDeductibleUntilPaid_638451631019981303" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsOther" xlink:label="us-gaap_DeferredTaxAssetsOther_638451631019981303" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract_638451631019971304" xlink:to="us-gaap_DeferredTaxAssetsOther_638451631019981303" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsGross" xlink:label="us-gaap_DeferredTaxAssetsGross_638451631019981303" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract_638451631019971304" xlink:to="us-gaap_DeferredTaxAssetsGross_638451631019981303" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance_638451631019981303" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract_638451631019971304" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance_638451631019981303" order="9" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsNet" xlink:label="us-gaap_DeferredTaxAssetsNet_638451631019981303" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DeferredTaxAssetsGrossAbstract_638451631019971304" xlink:to="us-gaap_DeferredTaxAssetsNet_638451631019981303" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComponentsOfDeferredTaxLiabilitiesAbstract" xlink:label="us-gaap_ComponentsOfDeferredTaxLiabilitiesAbstract_638451631019981303" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract_637048505954028930" xlink:to="us-gaap_ComponentsOfDeferredTaxLiabilitiesAbstract_638451631019981303" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxLiabilitiesOther" xlink:label="us-gaap_DeferredTaxLiabilitiesOther_638451631019981303" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComponentsOfDeferredTaxLiabilitiesAbstract_638451631019981303" xlink:to="us-gaap_DeferredTaxLiabilitiesOther_638451631019981303" order="1" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxLiabilities" xlink:label="us-gaap_DeferredIncomeTaxLiabilities_638451631019991305" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComponentsOfDeferredTaxLiabilitiesAbstract_638451631019981303" xlink:to="us-gaap_DeferredIncomeTaxLiabilities_638451631019991305" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedTotalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:label="us-gaap_DeferredTaxAssetsLiabilitiesNet_638451631019991305" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract_637048505954028930" xlink:to="us-gaap_DeferredTaxAssetsLiabilitiesNet_638451631019991305" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsNet" xlink:label="us-gaap_DeferredTaxAssetsNet_638451631019991305" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract_637048505954028930" xlink:to="us-gaap_DeferredTaxAssetsNet_638451631019991305" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxLiabilities" xlink:label="us-gaap_DeferredIncomeTaxLiabilities_6384516310199913051" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract_637048505954028930" xlink:to="us-gaap_DeferredIncomeTaxLiabilities_6384516310199913051" order="5" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:label="us-gaap_DeferredTaxAssetsLiabilitiesNet_6384516310199913051" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract_637048505954028930" xlink:to="us-gaap_DeferredTaxAssetsLiabilitiesNet_6384516310199913051" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureIncomeTaxesUnitedStatesAndForeignComponentsOfIncomeLossDetails" xlink:type="extended" xlink:title="40604 - Disclosure - Income Taxes - United States and foreign components of income (loss) (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="us-gaap_IncomeTaxDisclosureAbstract_637048505954068963" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic_638451631019991305" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract_637048505954068963" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic_638451631019991305" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign_638451631019991305" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract_637048505954068963" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign_638451631019991305" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_638451631020001304" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract_637048505954068963" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_638451631020001304" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureIncomeTaxesUnrecognizedTaxBenefitsDetails" xlink:type="extended" xlink:title="40605 - Disclosure - Income Taxes - Unrecognized tax benefits (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_352207" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefits" xlink:label="us-gaap_UnrecognizedTaxBenefits_638451631020001304" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_352207" xlink:to="us-gaap_UnrecognizedTaxBenefits_638451631020001304" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions" xlink:label="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_638451631020001304" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_352207" xlink:to="us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions_638451631020001304" order="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions" xlink:label="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions_638451631020001304" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_352207" xlink:to="us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions_638451631020001304" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense" xlink:label="us-gaap_UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense_638451631020001304" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_352207" xlink:to="us-gaap_UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense_638451631020001304" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_UnrecognizedTaxBenefitsIncreaseDecreasesResultingFromForeignCurrencyTranslation" xlink:label="inod_UnrecognizedTaxBenefitsIncreaseDecreasesResultingFromForeignCurrencyTranslation_638451631020001304" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_352207" xlink:to="inod_UnrecognizedTaxBenefitsIncreaseDecreasesResultingFromForeignCurrencyTranslation_638451631020001304" order="5" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefits" xlink:label="us-gaap_UnrecognizedTaxBenefits_6384516310200013041" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_352207" xlink:to="us-gaap_UnrecognizedTaxBenefits_6384516310200013041" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDetails" xlink:type="extended" xlink:title="40606 - Disclosure - Income Taxes (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="us-gaap_IncomeTaxDisclosureAbstract_637048505954104022" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_IncomeTaxesTable" xlink:label="inod_IncomeTaxesTable_638451631020011302" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract_637048505954104022" xlink:to="inod_IncomeTaxesTable_638451631020011302" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis_638451631020011302" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_IncomeTaxesTable_638451631020011302" xlink:to="srt_RangeAxis_638451631020011302" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember_638451631020011302" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis_638451631020011302" xlink:to="srt_RangeMember_638451631020011302" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember_638451631020011302" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638451631020011302" xlink:to="srt_MaximumMember_638451631020011302" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember_638451631020011302" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638451631020011302" xlink:to="srt_MinimumMember_638451631020011302" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="us-gaap_IncomeTaxAuthorityAxis_638451631020011302" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_IncomeTaxesTable_638451631020011302" xlink:to="us-gaap_IncomeTaxAuthorityAxis_638451631020011302" order="2" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="us-gaap_IncomeTaxAuthorityDomain_638451631020011302" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityAxis_638451631020011302" xlink:to="us-gaap_IncomeTaxAuthorityDomain_638451631020011302" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DomesticCountryMember" xlink:label="us-gaap_DomesticCountryMember_638451631020011302" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxAuthorityDomain_638451631020011302" xlink:to="us-gaap_DomesticCountryMember_638451631020011302" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="srt_ConsolidatedEntitiesAxis_638451631020011302" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_IncomeTaxesTable_638451631020011302" xlink:to="srt_ConsolidatedEntitiesAxis_638451631020011302" order="3" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="srt_ConsolidatedEntitiesDomain_638451631020011302" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidatedEntitiesAxis_638451631020011302" xlink:to="srt_ConsolidatedEntitiesDomain_638451631020011302" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_CanadianSubsidiariesMember" xlink:label="inod_CanadianSubsidiariesMember_638451631020011302" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidatedEntitiesDomain_638451631020011302" xlink:to="inod_CanadianSubsidiariesMember_638451631020011302" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_GermanAndUnitedKingdomSubsidiariesMember" xlink:label="inod_GermanAndUnitedKingdomSubsidiariesMember_638451631020011302" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidatedEntitiesDomain_638451631020011302" xlink:to="inod_GermanAndUnitedKingdomSubsidiariesMember_638451631020011302" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_IncomeTaxesLineItems" xlink:label="inod_IncomeTaxesLineItems_638451631020021302" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_IncomeTaxesTable_638451631020011302" xlink:to="inod_IncomeTaxesLineItems_638451631020021302" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance_638451631020021302" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_IncomeTaxesLineItems_638451631020021302" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance_638451631020021302" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount" xlink:label="us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount_638451631020021302" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_IncomeTaxesLineItems_638451631020021302" xlink:to="us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount_638451631020021302" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLossCarryforwards" xlink:label="us-gaap_OperatingLossCarryforwards_638451631020021302" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_IncomeTaxesLineItems_638451631020021302" xlink:to="us-gaap_OperatingLossCarryforwards_638451631020021302" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration_638451631020021302" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_IncomeTaxesLineItems_638451631020021302" xlink:to="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration_638451631020021302" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsNotSubjectToExpiration" xlink:label="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsNotSubjectToExpiration_638451631020021302" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_IncomeTaxesLineItems_638451631020021302" xlink:to="us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsNotSubjectToExpiration_638451631020021302" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch" xlink:label="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch_638451631020021302" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_IncomeTaxesLineItems_638451631020021302" xlink:to="us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch_638451631020021302" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UndistributedEarningsOfForeignSubsidiaries" xlink:label="us-gaap_UndistributedEarningsOfForeignSubsidiaries_638451631020021302" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_IncomeTaxesLineItems_638451631020021302" xlink:to="us-gaap_UndistributedEarningsOfForeignSubsidiaries_638451631020021302" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_PercentageForSubsidiaryServiceTax" xlink:label="inod_PercentageForSubsidiaryServiceTax_638451631020021302" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_IncomeTaxesLineItems_638451631020021302" xlink:to="inod_PercentageForSubsidiaryServiceTax_638451631020021302" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_SubsidiaryRevenue" xlink:label="inod_SubsidiaryRevenue_638451631020021302" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_IncomeTaxesLineItems_638451631020021302" xlink:to="inod_SubsidiaryRevenue_638451631020021302" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_ReversalOfServiceTaxRefund" xlink:label="inod_ReversalOfServiceTaxRefund_638451631020031311" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_IncomeTaxesLineItems_638451631020021302" xlink:to="inod_ReversalOfServiceTaxRefund_638451631020031311" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_ServiceTaxCreditReceivable" xlink:label="inod_ServiceTaxCreditReceivable_638451631020031311" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_IncomeTaxesLineItems_638451631020021302" xlink:to="inod_ServiceTaxCreditReceivable_638451631020031311" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrecognizedTaxBenefits" xlink:label="us-gaap_UnrecognizedTaxBenefits_638451631020031311" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_IncomeTaxesLineItems_638451631020021302" xlink:to="us-gaap_UnrecognizedTaxBenefits_638451631020031311" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureLongTermObligationsDetails" xlink:type="extended" xlink:title="40701 - Disclosure - Long-term obligations (Details)">
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_LongTermObligationsAbstract" xlink:label="inod_LongTermObligationsAbstract_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PostemploymentBenefitsLiabilityCurrentAndNoncurrent" xlink:label="us-gaap_PostemploymentBenefitsLiabilityCurrentAndNoncurrent_638451631020031311" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_LongTermObligationsAbstract_1" xlink:to="us-gaap_PostemploymentBenefitsLiabilityCurrentAndNoncurrent_638451631020031311" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_SettlementAgreementObligations" xlink:label="inod_SettlementAgreementObligations_638451631020031311" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_LongTermObligationsAbstract_1" xlink:to="inod_SettlementAgreementObligations_638451631020031311" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_MicrosoftLicensesObligations" xlink:label="inod_MicrosoftLicensesObligations_638451631020031311" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_LongTermObligationsAbstract_1" xlink:to="inod_MicrosoftLicensesObligations_638451631020031311" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_TotalLongTermObligations" xlink:label="inod_TotalLongTermObligations_638451631020101312" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_LongTermObligationsAbstract_1" xlink:to="inod_TotalLongTermObligations_638451631020101312" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_CurrentPortionOfLongTermObligations" xlink:label="inod_CurrentPortionOfLongTermObligations_638451631020101312" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_LongTermObligationsAbstract_1" xlink:to="inod_CurrentPortionOfLongTermObligations_638451631020101312" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_NoncurrentPortionOfLongTermObligations" xlink:label="inod_NoncurrentPortionOfLongTermObligations_638451631020101312" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_LongTermObligationsAbstract_1" xlink:to="inod_NoncurrentPortionOfLongTermObligations_638451631020101312" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_LicensesObligationsAmountPayableAnnually" xlink:label="inod_LicensesObligationsAmountPayableAnnually_638451631020101312" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_LongTermObligationsAbstract_1" xlink:to="inod_LicensesObligationsAmountPayableAnnually_638451631020101312" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureCommitmentsAndContingenciesDetails" xlink:type="extended" xlink:title="40801 - Disclosure - Commitments and contingencies (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureAbstract_637048505954754533" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LitigationReserve" xlink:label="us-gaap_LitigationReserve_638451631020101312" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureAbstract_637048505954754533" xlink:to="us-gaap_LitigationReserve_638451631020101312" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_InterestRateDescriptionLitigation" xlink:label="inod_InterestRateDescriptionLitigation_638451631020101312" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureAbstract_637048505954754533" xlink:to="inod_InterestRateDescriptionLitigation_638451631020101312" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LitigationSettlementExpense" xlink:label="us-gaap_LitigationSettlementExpense_638451631020101312" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureAbstract_637048505954754533" xlink:to="us-gaap_LitigationSettlementExpense_638451631020101312" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureOperatingLeasesDetails" xlink:type="extended" xlink:title="40901 - Disclosure - Operating Leases (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeDisclosureAbstract" xlink:label="us-gaap_LesseeDisclosureAbstract_5" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeLeaseDescriptionTable" xlink:label="us-gaap_LesseeLeaseDescriptionTable_638451631020111307" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeDisclosureAbstract_5" xlink:to="us-gaap_LesseeLeaseDescriptionTable_638451631020111307" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis_638451631020111307" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeLeaseDescriptionTable_638451631020111307" xlink:to="srt_RangeAxis_638451631020111307" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember_638451631020111307" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis_638451631020111307" xlink:to="srt_RangeMember_638451631020111307" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember_638451631020111307" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638451631020111307" xlink:to="srt_MinimumMember_638451631020111307" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember_638451631020111307" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638451631020111307" xlink:to="srt_MaximumMember_638451631020111307" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeLeaseDescriptionLineItems" xlink:label="us-gaap_LesseeLeaseDescriptionLineItems_638451631020111307" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeLeaseDescriptionTable_638451631020111307" xlink:to="us-gaap_LesseeLeaseDescriptionLineItems_638451631020111307" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseTermOfContract" xlink:label="us-gaap_LesseeOperatingLeaseTermOfContract_638451631020111307" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems_638451631020111307" xlink:to="us-gaap_LesseeOperatingLeaseTermOfContract_638451631020111307" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_PercentageOfRentalEscalations" xlink:label="inod_PercentageOfRentalEscalations_638451631020111307" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems_638451631020111307" xlink:to="inod_PercentageOfRentalEscalations_638451631020111307" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureOperatingLeasesFinancialStatementsRelatedToOperatingLeasesDetails" xlink:type="extended" xlink:title="40902 - Disclosure - Operating Leases - Financial statements related to operating leases (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeDisclosureAbstract" xlink:label="us-gaap_LesseeDisclosureAbstract_2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeLeaseDescriptionTable" xlink:label="us-gaap_LesseeLeaseDescriptionTable_638451631020121306" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeDisclosureAbstract_2" xlink:to="us-gaap_LesseeLeaseDescriptionTable_638451631020121306" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis_638451631020121306" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeLeaseDescriptionTable_638451631020121306" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis_638451631020121306" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain_638451631020121306" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis_638451631020121306" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain_638451631020121306" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_LongTermOperatingLeaseMember" xlink:label="inod_LongTermOperatingLeaseMember_638451631020121306" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638451631020121306" xlink:to="inod_LongTermOperatingLeaseMember_638451631020121306" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_ShortTermOperatingLeaseMember" xlink:label="inod_ShortTermOperatingLeaseMember_638451631020121306" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain_638451631020121306" xlink:to="inod_ShortTermOperatingLeaseMember_638451631020121306" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeLeaseDescriptionLineItems" xlink:label="us-gaap_LesseeLeaseDescriptionLineItems_638451631020121306" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeLeaseDescriptionTable_638451631020121306" xlink:to="us-gaap_LesseeLeaseDescriptionLineItems_638451631020121306" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseExpense" xlink:label="us-gaap_OperatingLeaseExpense_638451631020121306" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeLeaseDescriptionLineItems_638451631020121306" xlink:to="us-gaap_OperatingLeaseExpense_638451631020121306" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails" xlink:type="extended" xlink:title="40903 - Disclosure - Operating Leases - Net present value of the operating lease liability (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeDisclosureAbstract" xlink:label="us-gaap_LesseeDisclosureAbstract_3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_638451631020121306" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeDisclosureAbstract_3" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_638451631020121306" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_638451631020121306" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeDisclosureAbstract_3" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_638451631020121306" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_638451631020121306" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeDisclosureAbstract_3" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_638451631020121306" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="6" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_638451631020131307" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeDisclosureAbstract_3" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_638451631020131307" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="6" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_638451631020131307" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeDisclosureAbstract_3" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_638451631020131307" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_LesseeOperatingLeaseLiabilityToBePaidThereafter" xlink:label="inod_LesseeOperatingLeaseLiabilityToBePaidThereafter_638451631020131307" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeDisclosureAbstract_3" xlink:to="inod_LesseeOperatingLeaseLiabilityToBePaidThereafter_638451631020131307" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_638451631020131307" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeDisclosureAbstract_3" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_638451631020131307" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_638451631020131307" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeDisclosureAbstract_3" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_638451631020131307" order="8" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability_638451631020131307" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeDisclosureAbstract_3" xlink:to="us-gaap_OperatingLeaseLiability_638451631020131307" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_638451631020131307" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeDisclosureAbstract_3" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_638451631020131307" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_638451631020131307" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeDisclosureAbstract_3" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_638451631020131307" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability_6384516310201313071" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeDisclosureAbstract_3" xlink:to="us-gaap_OperatingLeaseLiability_6384516310201313071" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" priority="2" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureOperatingLeasesWeightedAverageRemainingLeaseTermsDetails" xlink:type="extended" xlink:title="40904 - Disclosure - Operating Leases - Weighted average remaining lease terms (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeDisclosureAbstract" xlink:label="us-gaap_LesseeDisclosureAbstract_4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_638451631020141307" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeDisclosureAbstract_4" xlink:to="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_638451631020141307" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_638451631020141307" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LesseeDisclosureAbstract_4" xlink:to="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_638451631020141307" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosurePensionBenefitsBenefitObligationsDetails" xlink:type="extended" xlink:title="41001 - Disclosure - Pension Benefits - Benefit Obligations (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:label="us-gaap_CompensationAndRetirementDisclosureAbstract_637048505954824576" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanBenefitObligation" xlink:label="us-gaap_DefinedBenefitPlanBenefitObligation_638451631020141307" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract_637048505954824576" xlink:to="us-gaap_DefinedBenefitPlanBenefitObligation_638451631020141307" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanServiceCost" xlink:label="us-gaap_DefinedBenefitPlanServiceCost_638451631020141307" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract_637048505954824576" xlink:to="us-gaap_DefinedBenefitPlanServiceCost_638451631020141307" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanInterestCost" xlink:label="us-gaap_DefinedBenefitPlanInterestCost_638451631020141307" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract_637048505954824576" xlink:to="us-gaap_DefinedBenefitPlanInterestCost_638451631020141307" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanNetPeriodicBenefitCostCreditInterestCostStatementOfIncomeOrComprehensiveIncomeExtensibleList" xlink:label="us-gaap_DefinedBenefitPlanNetPeriodicBenefitCostCreditInterestCostStatementOfIncomeOrComprehensiveIncomeExtensibleList_638451631020141307" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract_637048505954824576" xlink:to="us-gaap_DefinedBenefitPlanNetPeriodicBenefitCostCreditInterestCostStatementOfIncomeOrComprehensiveIncomeExtensibleList_638451631020141307" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanActuarialGainLoss" xlink:label="us-gaap_DefinedBenefitPlanActuarialGainLoss_638451631020141307" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract_637048505954824576" xlink:to="us-gaap_DefinedBenefitPlanActuarialGainLoss_638451631020141307" order="5" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanPlanAssetsForeignCurrencyTranslationGainLoss" xlink:label="us-gaap_DefinedBenefitPlanPlanAssetsForeignCurrencyTranslationGainLoss_638451631020151306" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract_637048505954824576" xlink:to="us-gaap_DefinedBenefitPlanPlanAssetsForeignCurrencyTranslationGainLoss_638451631020151306" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanCurtailments" xlink:label="us-gaap_DefinedBenefitPlanCurtailments_638451631020151306" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract_637048505954824576" xlink:to="us-gaap_DefinedBenefitPlanCurtailments_638451631020151306" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanBenefitObligationBenefitsPaid" xlink:label="us-gaap_DefinedBenefitPlanBenefitObligationBenefitsPaid_638451631020151306" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract_637048505954824576" xlink:to="us-gaap_DefinedBenefitPlanBenefitObligationBenefitsPaid_638451631020151306" order="8" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanBenefitObligation" xlink:label="us-gaap_DefinedBenefitPlanBenefitObligation_638451631020151306" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract_637048505954824576" xlink:to="us-gaap_DefinedBenefitPlanBenefitObligation_638451631020151306" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosurePensionBenefitsComponentsOfNetPeriodicPensionCostDetails" xlink:type="extended" xlink:title="41002 - Disclosure - Pension Benefits - Components of Net Periodic Pension Cost (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:label="us-gaap_CompensationAndRetirementDisclosureAbstract_637048505954844586" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanServiceCost" xlink:label="us-gaap_DefinedBenefitPlanServiceCost_638451631020151306" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract_637048505954844586" xlink:to="us-gaap_DefinedBenefitPlanServiceCost_638451631020151306" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanInterestCost" xlink:label="us-gaap_DefinedBenefitPlanInterestCost_638451631020151306" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract_637048505954844586" xlink:to="us-gaap_DefinedBenefitPlanInterestCost_638451631020151306" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanRecognizedNetGainLossDueToCurtailments" xlink:label="us-gaap_DefinedBenefitPlanRecognizedNetGainLossDueToCurtailments_638451631020151306" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract_637048505954844586" xlink:to="us-gaap_DefinedBenefitPlanRecognizedNetGainLossDueToCurtailments_638451631020151306" order="3" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanActuarialGainLossImmediateRecognitionAsComponentInNetPeriodicBenefitCostCredit" xlink:label="us-gaap_DefinedBenefitPlanActuarialGainLossImmediateRecognitionAsComponentInNetPeriodicBenefitCostCredit_638451631020151306" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract_637048505954844586" xlink:to="us-gaap_DefinedBenefitPlanActuarialGainLossImmediateRecognitionAsComponentInNetPeriodicBenefitCostCredit_638451631020151306" order="4" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanNetPeriodicBenefitCostCreditImmediateRecognitionOfActuarialGainLossStatementOfIncomeOrComprehensiveIncomeExtensibleList" xlink:label="us-gaap_DefinedBenefitPlanNetPeriodicBenefitCostCreditImmediateRecognitionOfActuarialGainLossStatementOfIncomeOrComprehensiveIncomeExtensibleList_638451631020151306" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract_637048505954844586" xlink:to="us-gaap_DefinedBenefitPlanNetPeriodicBenefitCostCreditImmediateRecognitionOfActuarialGainLossStatementOfIncomeOrComprehensiveIncomeExtensibleList_638451631020151306" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost" xlink:label="us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost_638451631020161307" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract_637048505954844586" xlink:to="us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost_638451631020161307" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosurePensionBenefitsRecognizedInBalanceSheetsDetails" xlink:type="extended" xlink:title="41003 - Disclosure - Pension Benefits - Recognized in balance sheets (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:label="us-gaap_CompensationAndRetirementDisclosureAbstract_637048505954854594" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities" xlink:label="us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities_638451631020161307" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract_637048505954854594" xlink:to="us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities_638451631020161307" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent" xlink:label="us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent_638451631020161307" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract_637048505954854594" xlink:to="us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent_638451631020161307" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesCurrentAndNoncurrent" xlink:label="us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesCurrentAndNoncurrent_638451631020161307" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract_637048505954854594" xlink:to="us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesCurrentAndNoncurrent_638451631020161307" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosurePensionBenefitsActuarialAssumptionsDetails" xlink:type="extended" xlink:title="41004 - Disclosure - Pension Benefits - Actuarial assumptions (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:label="us-gaap_CompensationAndRetirementDisclosureAbstract_637048505954874608" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable" xlink:label="us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_638451631020161307" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract_637048505954874608" xlink:to="us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_638451631020161307" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis_638451631020161307" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_638451631020161307" xlink:to="srt_RangeAxis_638451631020161307" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember_638451631020171306" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis_638451631020161307" xlink:to="srt_RangeMember_638451631020171306" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember_638451631020171306" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638451631020171306" xlink:to="srt_MinimumMember_638451631020171306" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember_638451631020171306" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638451631020171306" xlink:to="srt_MaximumMember_638451631020171306" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanDisclosureLineItems" xlink:label="us-gaap_DefinedBenefitPlanDisclosureLineItems_638451631020171306" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_638451631020161307" xlink:to="us-gaap_DefinedBenefitPlanDisclosureLineItems_638451631020171306" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate" xlink:label="us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate_638451631020171306" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DefinedBenefitPlanDisclosureLineItems_638451631020171306" xlink:to="us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate_638451631020171306" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationRateOfCompensationIncrease" xlink:label="us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationRateOfCompensationIncrease_638451631020171306" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DefinedBenefitPlanDisclosureLineItems_638451631020171306" xlink:to="us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationRateOfCompensationIncrease_638451631020171306" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosurePensionBenefitsEstimatedFutureBenefitPaymentsDetails" xlink:type="extended" xlink:title="41005 - Disclosure - Pension Benefits - Estimated future benefit payments (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:label="us-gaap_CompensationAndRetirementDisclosureAbstract_637048505954894627" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths" xlink:label="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths_638451631020171306" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract_637048505954894627" xlink:to="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths_638451631020171306" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearTwo" xlink:label="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearTwo_638451631020171306" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract_637048505954894627" xlink:to="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearTwo_638451631020171306" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearThree" xlink:label="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearThree_638451631020171306" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract_637048505954894627" xlink:to="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearThree_638451631020171306" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFour" xlink:label="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFour_638451631020171306" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract_637048505954894627" xlink:to="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFour_638451631020171306" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFive" xlink:label="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFive_638451631020181306" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract_637048505954894627" xlink:to="us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFive_638451631020181306" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_DefinedBenefitPlanExpectedFutureBenefitPaymentYearSixToYearNine" xlink:label="inod_DefinedBenefitPlanExpectedFutureBenefitPaymentYearSixToYearNine_638451631020181306" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract_637048505954894627" xlink:to="inod_DefinedBenefitPlanExpectedFutureBenefitPaymentYearSixToYearNine_638451631020181306" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_DefinedBenefitPlanExpectedFutureBenefitPayments" xlink:label="inod_DefinedBenefitPlanExpectedFutureBenefitPayments_638451631020181306" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract_637048505954894627" xlink:to="inod_DefinedBenefitPlanExpectedFutureBenefitPayments_638451631020181306" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosurePensionBenefitsAdditionalInformationDetails" xlink:type="extended" xlink:title="41006 - Disclosure - Pension Benefits - Additional Information (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CompensationAndRetirementDisclosureAbstract" xlink:label="us-gaap_CompensationAndRetirementDisclosureAbstract_637048505954914645" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable" xlink:label="us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_638451631020181306" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CompensationAndRetirementDisclosureAbstract_637048505954914645" xlink:to="us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_638451631020181306" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyTransactionsByRelatedPartyAxis" xlink:label="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_638451631020181306" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_638451631020181306" xlink:to="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_638451631020181306" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RelatedPartyDomain" xlink:label="us-gaap_RelatedPartyDomain_638451631020181306" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_638451631020181306" xlink:to="us-gaap_RelatedPartyDomain_638451631020181306" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SubsidiariesMember" xlink:label="srt_SubsidiariesMember_638451631020181306" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RelatedPartyDomain_638451631020181306" xlink:to="srt_SubsidiariesMember_638451631020181306" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanDisclosureLineItems" xlink:label="us-gaap_DefinedBenefitPlanDisclosureLineItems_638451631020181306" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable_638451631020181306" xlink:to="us-gaap_DefinedBenefitPlanDisclosureLineItems_638451631020181306" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_DefinedContributionPensionPlanPeriodOfServiceToBecomeEligible" xlink:label="inod_DefinedContributionPensionPlanPeriodOfServiceToBecomeEligible_638451631020181306" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DefinedBenefitPlanDisclosureLineItems_638451631020181306" xlink:to="inod_DefinedContributionPensionPlanPeriodOfServiceToBecomeEligible_638451631020181306" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PensionExpense" xlink:label="us-gaap_PensionExpense_638451631020191305" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DefinedBenefitPlanDisclosureLineItems_638451631020181306" xlink:to="us-gaap_PensionExpense_638451631020191305" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DefinedBenefitPlanAccumulatedBenefitObligation" xlink:label="us-gaap_DefinedBenefitPlanAccumulatedBenefitObligation_638451631020191305" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DefinedBenefitPlanDisclosureLineItems_638451631020181306" xlink:to="us-gaap_DefinedBenefitPlanAccumulatedBenefitObligation_638451631020191305" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureCapitalStockDetails" xlink:type="extended" xlink:title="41101 - Disclosure - Capital Stock (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityNoteAbstract" xlink:label="us-gaap_StockholdersEquityNoteAbstract_637048505954964674" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfStockByClassTable" xlink:label="us-gaap_ScheduleOfStockByClassTable_638451631020191305" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityNoteAbstract_637048505954964674" xlink:to="us-gaap_ScheduleOfStockByClassTable_638451631020191305" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis_638451631020191305" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfStockByClassTable_638451631020191305" xlink:to="us-gaap_StatementEquityComponentsAxis_638451631020191305" order="1" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain_638451631020191305" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_638451631020191305" xlink:to="us-gaap_EquityComponentDomain_638451631020191305" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonMember" xlink:label="us-gaap_TreasuryStockCommonMember_638451631020191305" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityComponentDomain_638451631020191305" xlink:to="us-gaap_TreasuryStockCommonMember_638451631020191305" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis_638451631020191305" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfStockByClassTable_638451631020191305" xlink:to="us-gaap_PlanNameAxis_638451631020191305" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain_638451631020191305" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameAxis_638451631020191305" xlink:to="us-gaap_PlanNameDomain_638451631020191305" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_July2019Member" xlink:label="inod_July2019Member_638451631020191305" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameDomain_638451631020191305" xlink:to="inod_July2019Member_638451631020191305" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ClassOfStockLineItems" xlink:label="us-gaap_ClassOfStockLineItems_638451631020201311" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfStockByClassTable_638451631020191305" xlink:to="us-gaap_ClassOfStockLineItems_638451631020201311" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="us-gaap_CommonStockSharesAuthorized_638451631020201311" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ClassOfStockLineItems_638451631020201311" xlink:to="us-gaap_CommonStockSharesAuthorized_638451631020201311" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_NumberOfVotesForEachShareOfCommonStock" xlink:label="inod_NumberOfVotesForEachShareOfCommonStock_638451631020201311" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ClassOfStockLineItems_638451631020201311" xlink:to="inod_NumberOfVotesForEachShareOfCommonStock_638451631020201311" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockDividendsPerShareDeclared" xlink:label="us-gaap_CommonStockDividendsPerShareDeclared_638451631020201311" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ClassOfStockLineItems_638451631020201311" xlink:to="us-gaap_CommonStockDividendsPerShareDeclared_638451631020201311" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesAuthorized" xlink:label="us-gaap_PreferredStockSharesAuthorized_638451631020201311" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ClassOfStockLineItems_638451631020201311" xlink:to="us-gaap_PreferredStockSharesAuthorized_638451631020201311" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" xlink:label="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance_638451631020201311" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ClassOfStockLineItems_638451631020201311" xlink:to="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance_638451631020201311" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchaseProgramAuthorizedAmount1" xlink:label="us-gaap_StockRepurchaseProgramAuthorizedAmount1_638451631020201311" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ClassOfStockLineItems_638451631020201311" xlink:to="us-gaap_StockRepurchaseProgramAuthorizedAmount1_638451631020201311" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockRepurchasedDuringPeriodShares" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares_638451631020201311" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ClassOfStockLineItems_638451631020201311" xlink:to="us-gaap_StockRepurchasedDuringPeriodShares_638451631020201311" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonValue" xlink:label="us-gaap_TreasuryStockCommonValue_638451631020201311" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ClassOfStockLineItems_638451631020201311" xlink:to="us-gaap_TreasuryStockCommonValue_638451631020201311" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureStockOptionsWeightedAverageFairValuesAndAssumptionsDetails" xlink:type="extended" xlink:title="41201 - Disclosure - Stock Options - Weighted Average Fair Values and Assumptions (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_637048505955084768" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638451631020211308" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_637048505955084768" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638451631020211308" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis_638451631020211308" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638451631020211308" xlink:to="srt_RangeAxis_638451631020211308" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember_638451631020211308" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis_638451631020211308" xlink:to="srt_RangeMember_638451631020211308" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember_638451631020211308" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638451631020211308" xlink:to="srt_MinimumMember_638451631020211308" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember_638451631020211308" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638451631020211308" xlink:to="srt_MaximumMember_638451631020211308" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis_638451631020211308" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638451631020211308" xlink:to="us-gaap_AwardTypeAxis_638451631020211308" order="2" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638451631020211308" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis_638451631020211308" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638451631020211308" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember_638451631020211308" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638451631020211308" xlink:to="us-gaap_EmployeeStockOptionMember_638451631020211308" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638451631020211308" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638451631020211308" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638451631020211308" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_638451631020221309" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638451631020211308" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_638451631020221309" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_638451631020221309" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638451631020211308" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_638451631020221309" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_638451631020221309" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638451631020211308" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_638451631020221309" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_638451631020221309" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638451631020211308" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_638451631020221309" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_638451631020221309" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638451631020211308" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_638451631020221309" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionActivityDetails" xlink:type="extended" xlink:title="41202 - Disclosure - Stock Options - Summary of Stock Option Activity (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_338" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638451631020221309" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_338" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638451631020221309" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OptionIndexedToIssuersEquityEquityAxis" xlink:label="us-gaap_OptionIndexedToIssuersEquityEquityAxis_638451631020221309" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638451631020221309" xlink:to="us-gaap_OptionIndexedToIssuersEquityEquityAxis_638451631020221309" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OptionIndexedToIssuersEquityTypeDomain" xlink:label="us-gaap_OptionIndexedToIssuersEquityTypeDomain_638451631020221309" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OptionIndexedToIssuersEquityEquityAxis_638451631020221309" xlink:to="us-gaap_OptionIndexedToIssuersEquityTypeDomain_638451631020221309" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember_638451631020231306" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OptionIndexedToIssuersEquityTypeDomain_638451631020221309" xlink:to="us-gaap_EmployeeStockOptionMember_638451631020231306" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualAxis" xlink:label="srt_TitleOfIndividualAxis_638451631020231306" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638451631020221309" xlink:to="srt_TitleOfIndividualAxis_638451631020231306" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_TitleOfIndividualWithRelationshipToEntityDomain" xlink:label="srt_TitleOfIndividualWithRelationshipToEntityDomain_638451631020231306" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_TitleOfIndividualAxis_638451631020231306" xlink:to="srt_TitleOfIndividualWithRelationshipToEntityDomain_638451631020231306" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_DirectorMember" xlink:label="srt_DirectorMember_638451631020231306" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_TitleOfIndividualWithRelationshipToEntityDomain_638451631020231306" xlink:to="srt_DirectorMember_638451631020231306" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis_638451631020231306" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638451631020221309" xlink:to="us-gaap_PlanNameAxis_638451631020231306" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain_638451631020231306" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameAxis_638451631020231306" xlink:to="us-gaap_PlanNameDomain_638451631020231306" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_TwoThousandThirteenStockPlanMember" xlink:label="inod_TwoThousandThirteenStockPlanMember_638451631020231306" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameDomain_638451631020231306" xlink:to="inod_TwoThousandThirteenStockPlanMember_638451631020231306" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_TwoThousandTwentyOneEquityCompensationPlanMember" xlink:label="inod_TwoThousandTwentyOneEquityCompensationPlanMember_638451631020231306" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameDomain_638451631020231306" xlink:to="inod_TwoThousandTwentyOneEquityCompensationPlanMember_638451631020231306" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638451631020231306" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638451631020221309" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638451631020231306" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_638451631020231306" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638451631020231306" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_638451631020231306" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_638451631020231306" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638451631020231306" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_638451631020231306" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_638451631020241307" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638451631020231306" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_638451631020241307" order="3" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_638451631020241307" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638451631020231306" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_638451631020241307" order="4" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_638451631020241307" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638451631020231306" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_638451631020241307" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_638451631020241307" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638451631020231306" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_638451631020241307" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_638451631020241307" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638451631020231306" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_638451631020241307" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_638451631020241307" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638451631020231306" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_638451631020241307" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_638451631020241307" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638451631020231306" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_638451631020241307" order="9" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_638451631020241307" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638451631020231306" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_638451631020241307" order="10" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_638451631020241307" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638451631020231306" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_638451631020241307" order="11" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_638451631020251308" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638451631020231306" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_638451631020251308" order="12" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_638451631020251308" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638451631020231306" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_638451631020251308" order="13" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_638451631020251308" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638451631020231306" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_638451631020251308" order="14" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_638451631020251308" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638451631020231306" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_638451631020251308" order="15" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_638451631020251308" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638451631020231306" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_638451631020251308" order="16" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_638451631020251308" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638451631020231306" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_638451631020251308" order="17" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_638451631020251308" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638451631020231306" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_638451631020251308" order="18" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_638451631020261308" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638451631020231306" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_638451631020261308" order="19" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_638451631020261308" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638451631020231306" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_638451631020261308" order="20" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_638451631020261308" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638451631020231306" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_638451631020261308" order="21" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionAndRestrictedStockOptionActivityDetails" xlink:type="extended" xlink:title="41203 - Disclosure - Stock Options - Summary of stock option and Restricted Stock option activity (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_412015" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638451631020261308" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_412015" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638451631020261308" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis_638451631020261308" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638451631020261308" xlink:to="us-gaap_AwardTypeAxis_638451631020261308" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638451631020271315" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis_638451631020261308" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638451631020271315" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember_638451631020271315" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638451631020271315" xlink:to="us-gaap_RestrictedStockUnitsRSUMember_638451631020271315" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis_638451631020271315" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638451631020261308" xlink:to="us-gaap_PlanNameAxis_638451631020271315" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain_638451631020271315" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameAxis_638451631020271315" xlink:to="us-gaap_PlanNameDomain_638451631020271315" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_TwoThousandThirteenStockPlanMember" xlink:label="inod_TwoThousandThirteenStockPlanMember_638451631020271315" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameDomain_638451631020271315" xlink:to="inod_TwoThousandThirteenStockPlanMember_638451631020271315" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_TwoThousandTwentyOneEquityCompensationPlanMember" xlink:label="inod_TwoThousandTwentyOneEquityCompensationPlanMember_638451631020271315" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameDomain_638451631020271315" xlink:to="inod_TwoThousandTwentyOneEquityCompensationPlanMember_638451631020271315" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_EquityPlansMember" xlink:label="inod_EquityPlansMember_638451631020271315" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameDomain_638451631020271315" xlink:to="inod_EquityPlansMember_638451631020271315" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638451631020271315" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638451631020261308" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638451631020271315" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_638451631020271315" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638451631020271315" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_638451631020271315" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" priority="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_638451631020271315" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638451631020271315" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_638451631020271315" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_6384516310202713151" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638451631020271315" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_6384516310202713151" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" priority="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_638451631020281309" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638451631020271315" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_638451631020281309" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_638451631020281309" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638451631020271315" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_638451631020281309" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_6384516310202813091" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638451631020271315" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_6384516310202813091" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" priority="4" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureStockOptionsAdditionalInformationDetails" xlink:type="extended" xlink:title="41204 - Disclosure - Stock Options - Additional Information (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_637048505955174857" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638451631020281309" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_637048505955174857" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638451631020281309" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis_638451631020281309" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638451631020281309" xlink:to="us-gaap_PlanNameAxis_638451631020281309" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain_638451631020281309" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameAxis_638451631020281309" xlink:to="us-gaap_PlanNameDomain_638451631020281309" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_TwoThousandThirteenStockPlanMember" xlink:label="inod_TwoThousandThirteenStockPlanMember_638451631020281309" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameDomain_638451631020281309" xlink:to="inod_TwoThousandThirteenStockPlanMember_638451631020281309" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_TwoThousandTwentyOneEquityCompensationPlanMember" xlink:label="inod_TwoThousandTwentyOneEquityCompensationPlanMember_638451631020291310" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameDomain_638451631020281309" xlink:to="inod_TwoThousandTwentyOneEquityCompensationPlanMember_638451631020291310" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_TwoThousandTwentyOneEquityCompensationPlanOtherMember" xlink:label="inod_TwoThousandTwentyOneEquityCompensationPlanOtherMember_638451631020291310" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_TwoThousandTwentyOneEquityCompensationPlanMember_638451631020291310" xlink:to="inod_TwoThousandTwentyOneEquityCompensationPlanOtherMember_638451631020291310" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_AwardsGrantedPriorToApril112022Member" xlink:label="inod_AwardsGrantedPriorToApril112022Member_638451631020291310" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_TwoThousandTwentyOneEquityCompensationPlanMember_638451631020291310" xlink:to="inod_AwardsGrantedPriorToApril112022Member_638451631020291310" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_AwardsGrantedOnOrAfterApril112022Member" xlink:label="inod_AwardsGrantedOnOrAfterApril112022Member_638451631020291310" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_TwoThousandTwentyOneEquityCompensationPlanMember_638451631020291310" xlink:to="inod_AwardsGrantedOnOrAfterApril112022Member_638451631020291310" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_EquityPlansMember" xlink:label="inod_EquityPlansMember_638451631020291310" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameDomain_638451631020281309" xlink:to="inod_EquityPlansMember_638451631020291310" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OptionIndexedToIssuersEquityEquityAxis" xlink:label="us-gaap_OptionIndexedToIssuersEquityEquityAxis_638451631020291310" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638451631020281309" xlink:to="us-gaap_OptionIndexedToIssuersEquityEquityAxis_638451631020291310" order="2" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OptionIndexedToIssuersEquityTypeDomain" xlink:label="us-gaap_OptionIndexedToIssuersEquityTypeDomain_638451631020291310" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OptionIndexedToIssuersEquityEquityAxis_638451631020291310" xlink:to="us-gaap_OptionIndexedToIssuersEquityTypeDomain_638451631020291310" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember_638451631020291310" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OptionIndexedToIssuersEquityTypeDomain_638451631020291310" xlink:to="us-gaap_EmployeeStockOptionMember_638451631020291310" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis_638451631020291310" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638451631020281309" xlink:to="us-gaap_AwardTypeAxis_638451631020291310" order="3" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638451631020291310" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis_638451631020291310" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638451631020291310" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember_638451631020291310" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_638451631020291310" xlink:to="us-gaap_RestrictedStockUnitsRSUMember_638451631020291310" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638451631020291310" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_638451631020281309" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638451631020291310" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesUnderlyingOutstandingOptionsOrRights" xlink:label="inod_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesUnderlyingOutstandingOptionsOrRights_638451631020301310" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638451631020291310" xlink:to="inod_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesUnderlyingOutstandingOptionsOrRights_638451631020301310" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_638451631020301310" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638451631020291310" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_638451631020301310" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_ReservationOfSharesSubjectToOptionOrStockAppreciationRightsGrantedRatio" xlink:label="inod_ReservationOfSharesSubjectToOptionOrStockAppreciationRightsGrantedRatio_638451631020301310" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638451631020291310" xlink:to="inod_ReservationOfSharesSubjectToOptionOrStockAppreciationRightsGrantedRatio_638451631020301310" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_638451631020301310" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638451631020291310" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_638451631020301310" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_NumberOfSharesEligibleToReceiveForEachFullyVestedRsu" xlink:label="inod_NumberOfSharesEligibleToReceiveForEachFullyVestedRsu_638451631020301310" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638451631020291310" xlink:to="inod_NumberOfSharesEligibleToReceiveForEachFullyVestedRsu_638451631020301310" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_638451631020301310" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638451631020291310" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_638451631020301310" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="6" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_638451631020301310" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_638451631020291310" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_638451631020301310" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureComprehensiveLossReclassificationsFromAccumulatedOtherComprehensiveLossDetails" xlink:type="extended" xlink:title="41301 - Disclosure - Comprehensive loss - Reclassifications from accumulated other comprehensive loss (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAbstract" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossTable" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_638451631020311308" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxAbstract" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_638451631020311308" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis_638451631020311308" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_638451631020311308" xlink:to="us-gaap_StatementEquityComponentsAxis_638451631020311308" order="1" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain_638451631020311308" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis_638451631020311308" xlink:to="us-gaap_EquityComponentDomain_638451631020311308" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember" xlink:label="us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_638451631020311308" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityComponentDomain_638451631020311308" xlink:to="us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_638451631020311308" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember" xlink:label="us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_638451631020311308" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityComponentDomain_638451631020311308" xlink:to="us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_638451631020311308" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedTranslationAdjustmentMember" xlink:label="us-gaap_AccumulatedTranslationAdjustmentMember_638451631020311308" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityComponentDomain_638451631020311308" xlink:to="us-gaap_AccumulatedTranslationAdjustmentMember_638451631020311308" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember_638451631020311308" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityComponentDomain_638451631020311308" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember_638451631020311308" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_638451631020311308" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossTable_638451631020311308" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_638451631020311308" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity_638451631020311308" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_638451631020311308" xlink:to="us-gaap_StockholdersEquity_638451631020311308" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax_638451631020311308" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_638451631020311308" xlink:to="us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax_638451631020311308" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="7" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax" xlink:label="inod_TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax_638451631020321310" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_638451631020311308" xlink:to="inod_TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax_638451631020321310" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="5" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax" xlink:label="us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax_638451631020321310" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_638451631020311308" xlink:to="us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax_638451631020321310" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity_638451631020321310" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems_638451631020311308" xlink:to="us-gaap_StockholdersEquity_638451631020321310" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" priority="4" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsDetails" xlink:type="extended" xlink:title="41401 - Disclosure - Segment reporting and concentrations (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingAbstract" xlink:label="loc_us-gaap_SegmentReportingAbstract_489" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638451631020321310" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAbstract_489" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638451631020321310" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis_638451631020321310" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638451631020321310" xlink:to="us-gaap_StatementBusinessSegmentsAxis_638451631020321310" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentDomain" xlink:label="us-gaap_SegmentDomain_638451631020321310" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementBusinessSegmentsAxis_638451631020321310" xlink:to="us-gaap_SegmentDomain_638451631020321310" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_DdsMember" xlink:label="inod_DdsMember_638451631020321310" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_638451631020321310" xlink:to="inod_DdsMember_638451631020321310" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_SynodexMember" xlink:label="inod_SynodexMember_638451631020321310" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_638451631020321310" xlink:to="inod_SynodexMember_638451631020321310" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_AgilityMember" xlink:label="inod_AgilityMember_638451631020331309" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentDomain_638451631020321310" xlink:to="inod_AgilityMember_638451631020331309" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsegmentsConsolidationItemsAxis" xlink:label="us-gaap_SubsegmentsConsolidationItemsAxis_638451631020331309" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638451631020321310" xlink:to="us-gaap_SubsegmentsConsolidationItemsAxis_638451631020331309" order="2" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsegmentsConsolidationItemsDomain" xlink:label="us-gaap_SubsegmentsConsolidationItemsDomain_638451631020331309" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsegmentsConsolidationItemsAxis_638451631020331309" xlink:to="us-gaap_SubsegmentsConsolidationItemsDomain_638451631020331309" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_BeforeIntersegmentEliminationsMember" xlink:label="inod_BeforeIntersegmentEliminationsMember_638451631020331309" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsegmentsConsolidationItemsDomain_638451631020331309" xlink:to="inod_BeforeIntersegmentEliminationsMember_638451631020331309" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_AfterIntersegmentEliminationsMember" xlink:label="inod_AfterIntersegmentEliminationsMember_638451631020331309" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsegmentsConsolidationItemsDomain_638451631020331309" xlink:to="inod_AfterIntersegmentEliminationsMember_638451631020331309" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ConsolidationItemsAxis" xlink:label="srt_ConsolidationItemsAxis_638451631020331309" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638451631020321310" xlink:to="srt_ConsolidationItemsAxis_638451631020331309" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ConsolidationItemsDomain" xlink:label="srt_ConsolidationItemsDomain_638451631020331309" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidationItemsAxis_638451631020331309" xlink:to="srt_ConsolidationItemsDomain_638451631020331309" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingSegmentsMember" xlink:label="us-gaap_OperatingSegmentsMember_638451631020331309" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ConsolidationItemsDomain_638451631020331309" xlink:to="us-gaap_OperatingSegmentsMember_638451631020331309" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingInformationLineItems" xlink:label="us-gaap_SegmentReportingInformationLineItems_638451631020331309" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638451631020321310" xlink:to="us-gaap_SegmentReportingInformationLineItems_638451631020331309" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Revenues" xlink:label="us-gaap_Revenues_638451631020331309" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638451631020331309" xlink:to="us-gaap_Revenues_638451631020331309" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_638451631020331309" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638451631020331309" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_638451631020331309" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets_638451631020341309" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638451631020331309" xlink:to="us-gaap_Assets_638451631020341309" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill_638451631020341309" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638451631020331309" xlink:to="us-gaap_Goodwill_638451631020341309" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsLongLivedAssetsDetails" xlink:type="extended" xlink:title="41402 - Disclosure - Segment reporting and concentrations - Long-lived assets (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingAbstract" xlink:label="us-gaap_SegmentReportingAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:label="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_638451631020341309" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingAbstract" xlink:to="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_638451631020341309" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis_638451631020341309" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_638451631020341309" xlink:to="srt_StatementGeographicalAxis_638451631020341309" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain_638451631020341309" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis_638451631020341309" xlink:to="srt_SegmentGeographicalDomain_638451631020341309" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_US" xlink:label="country_US_638451631020341309" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_638451631020341309" xlink:to="country_US_638451631020341309" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_CA" xlink:label="country_CA_638451631020341309" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_638451631020341309" xlink:to="country_CA_638451631020341309" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_GB" xlink:label="country_GB_638451631020351311" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_638451631020341309" xlink:to="country_GB_638451631020351311" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_PH" xlink:label="country_PH_638451631020351311" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_638451631020341309" xlink:to="country_PH_638451631020351311" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_IN" xlink:label="country_IN_638451631020351311" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_638451631020341309" xlink:to="country_IN_638451631020351311" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_LK" xlink:label="country_LK_638451631020351311" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_638451631020341309" xlink:to="country_LK_638451631020351311" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/stpr/2023/stpr-2023.xsd#stpr_IL" xlink:label="stpr_IL_638451631020351311" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_638451631020341309" xlink:to="stpr_IL_638451631020351311" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_ForeignCountriesMember" xlink:label="inod_ForeignCountriesMember_638451631020351311" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_638451631020341309" xlink:to="inod_ForeignCountriesMember_638451631020351311" order="8" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:label="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_638451631020351311" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_638451631020341309" xlink:to="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_638451631020351311" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncurrentAssets" xlink:label="us-gaap_NoncurrentAssets_638451631020351311" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_638451631020351311" xlink:to="us-gaap_NoncurrentAssets_638451631020351311" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsRevenuesByGeographicRegionDetails" xlink:type="extended" xlink:title="41403 - Disclosure - Segment reporting and concentrations - Revenues by geographic region (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingAbstract" xlink:label="us-gaap_SegmentReportingAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638451631020361310" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingAbstract" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638451631020361310" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis_638451631020361310" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638451631020361310" xlink:to="srt_StatementGeographicalAxis_638451631020361310" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain_638451631020361310" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis_638451631020361310" xlink:to="srt_SegmentGeographicalDomain_638451631020361310" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_US" xlink:label="country_US_638451631020361310" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_638451631020361310" xlink:to="country_US_638451631020361310" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_GB" xlink:label="country_GB_638451631020361310" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_638451631020361310" xlink:to="country_GB_638451631020361310" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_NL" xlink:label="country_NL_638451631020361310" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_638451631020361310" xlink:to="country_NL_638451631020361310" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_CA" xlink:label="country_CA_638451631020361310" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_638451631020361310" xlink:to="country_CA_638451631020361310" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_OtherPrincipallyEuropeMember" xlink:label="inod_OtherPrincipallyEuropeMember_638451631020361310" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_638451631020361310" xlink:to="inod_OtherPrincipallyEuropeMember_638451631020361310" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingInformationLineItems" xlink:label="us-gaap_SegmentReportingInformationLineItems_638451631020361310" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638451631020361310" xlink:to="us-gaap_SegmentReportingInformationLineItems_638451631020361310" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Revenues" xlink:label="us-gaap_Revenues_638451631020361310" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638451631020361310" xlink:to="us-gaap_Revenues_638451631020361310" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsAdditionalInformationDetails" xlink:type="extended" xlink:title="41404 - Disclosure - Segment reporting and concentrations - Additional information (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingAbstract" xlink:label="loc_us-gaap_SegmentReportingAbstract_541" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638451631020371307" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAbstract_541" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638451631020371307" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis_638451631020371307" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638451631020371307" xlink:to="srt_MajorCustomersAxis_638451631020371307" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain_638451631020371307" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_MajorCustomersAxis_638451631020371307" xlink:to="srt_NameOfMajorCustomerDomain_638451631020371307" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_ForeignCustomerMember" xlink:label="inod_ForeignCustomerMember_638451631020371307" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_NameOfMajorCustomerDomain_638451631020371307" xlink:to="inod_ForeignCustomerMember_638451631020371307" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_OneClientMember" xlink:label="inod_OneClientMember_638451631020371307" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_NameOfMajorCustomerDomain_638451631020371307" xlink:to="inod_OneClientMember_638451631020371307" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_TwoClientMember" xlink:label="inod_TwoClientMember_638451631020371307" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_NameOfMajorCustomerDomain_638451631020371307" xlink:to="inod_TwoClientMember_638451631020371307" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_ThreeClientsMember" xlink:label="inod_ThreeClientsMember_638451631020371307" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_NameOfMajorCustomerDomain_638451631020371307" xlink:to="inod_ThreeClientsMember_638451631020371307" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_FourClientsMember" xlink:label="inod_FourClientsMember_638451631020371307" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_NameOfMajorCustomerDomain_638451631020371307" xlink:to="inod_FourClientsMember_638451631020371307" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_ClientMember" xlink:label="inod_ClientMember_638451631020371307" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_NameOfMajorCustomerDomain_638451631020371307" xlink:to="inod_ClientMember_638451631020371307" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis_638451631020371307" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638451631020371307" xlink:to="srt_RangeAxis_638451631020371307" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="srt_RangeMember_638451631020371307" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis_638451631020371307" xlink:to="srt_RangeMember_638451631020371307" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember_638451631020381312" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember_638451631020371307" xlink:to="srt_MinimumMember_638451631020381312" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis_638451631020381312" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638451631020371307" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis_638451631020381312" order="3" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain_638451631020381312" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis_638451631020381312" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain_638451631020381312" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SalesRevenueNetMember" xlink:label="us-gaap_SalesRevenueNetMember_638451631020381312" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain_638451631020381312" xlink:to="us-gaap_SalesRevenueNetMember_638451631020381312" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableMember" xlink:label="us-gaap_AccountsReceivableMember_638451631020381312" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain_638451631020381312" xlink:to="us-gaap_AccountsReceivableMember_638451631020381312" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis_638451631020381312" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638451631020371307" xlink:to="us-gaap_ConcentrationRiskByTypeAxis_638451631020381312" order="4" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain_638451631020381312" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByTypeAxis_638451631020381312" xlink:to="us-gaap_ConcentrationRiskTypeDomain_638451631020381312" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="us-gaap_CustomerConcentrationRiskMember_638451631020381312" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskTypeDomain_638451631020381312" xlink:to="us-gaap_CustomerConcentrationRiskMember_638451631020381312" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis_638451631020381312" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638451631020371307" xlink:to="srt_StatementGeographicalAxis_638451631020381312" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain_638451631020391313" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis_638451631020381312" xlink:to="srt_SegmentGeographicalDomain_638451631020391313" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_US" xlink:label="country_US_638451631020391313" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_638451631020391313" xlink:to="country_US_638451631020391313" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonUsMember" xlink:label="us-gaap_NonUsMember_638451631020391313" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain_638451631020391313" xlink:to="us-gaap_NonUsMember_638451631020391313" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingInformationLineItems" xlink:label="us-gaap_SegmentReportingInformationLineItems_638451631020391313" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_638451631020371307" xlink:to="us-gaap_SegmentReportingInformationLineItems_638451631020391313" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NumberOfReportableSegments" xlink:label="us-gaap_NumberOfReportableSegments_638451631020391313" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638451631020391313" xlink:to="us-gaap_NumberOfReportableSegments_638451631020391313" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_638451631020391313" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638451631020391313" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_638451631020391313" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_NumberOfClient" xlink:label="inod_NumberOfClient_638451631020391313" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638451631020391313" xlink:to="inod_NumberOfClient_638451631020391313" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="us-gaap_ConcentrationRiskPercentage1_638451631020391313" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SegmentReportingInformationLineItems_638451631020391313" xlink:to="us-gaap_ConcentrationRiskPercentage1_638451631020391313" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureLossPerShareDetails" xlink:type="extended" xlink:title="41501 - Disclosure - Loss per Share (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="loc_us-gaap_EarningsPerShareAbstract_563" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_NetIncomeLossAttributableToParent1" xlink:label="inod_NetIncomeLossAttributableToParent1_638451631020401310" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_563" xlink:to="inod_NetIncomeLossAttributableToParent1_638451631020401310" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_638451631020401310" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_563" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_638451631020401310" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_638451631020401310" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_563" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_638451631020401310" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureLossPerShareAdditionalInformationDetails" xlink:type="extended" xlink:title="41502 - Disclosure - Loss per Share - Additional information (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="loc_us-gaap_EarningsPerShareAbstract_573" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_ScheduleOfEarningsPerShareBasicAndDilutedTable" xlink:label="inod_ScheduleOfEarningsPerShareBasicAndDilutedTable_638451631020401310" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_573" xlink:to="inod_ScheduleOfEarningsPerShareBasicAndDilutedTable_638451631020401310" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_638451631020401310" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_ScheduleOfEarningsPerShareBasicAndDilutedTable_638451631020401310" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_638451631020401310" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain_638451631020401310" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_638451631020401310" xlink:to="us-gaap_AntidilutiveSecuritiesNameDomain_638451631020401310" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember_638451631020411310" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesNameDomain_638451631020401310" xlink:to="us-gaap_EmployeeStockOptionMember_638451631020411310" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_638451631020411310" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="inod_ScheduleOfEarningsPerShareBasicAndDilutedTable_638451631020401310" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_638451631020411310" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_638451631020411310" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_638451631020411310" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_638451631020411310" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="2" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureDerivativesAdditionalInformationDetails" xlink:type="extended" xlink:title="41601 - Disclosure - Derivatives - Additional Information (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:label="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_637048505955530144" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeNotionalAmount" xlink:label="us-gaap_DerivativeNotionalAmount_638451631020411310" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_637048505955530144" xlink:to="us-gaap_DerivativeNotionalAmount_638451631020411310" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureDerivativesFairValueOfDerivativeInstrumentsDetails" xlink:type="extended" xlink:title="41602 - Disclosure - Derivatives - Fair value of derivative instruments (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:label="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_637048505955495109" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" xlink:label="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_638451631020411310" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_637048505955495109" xlink:to="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_638451631020411310" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="us-gaap_BalanceSheetLocationAxis_638451631020411310" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_638451631020411310" xlink:to="us-gaap_BalanceSheetLocationAxis_638451631020411310" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="us-gaap_BalanceSheetLocationDomain_638451631020421312" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationAxis_638451631020411310" xlink:to="us-gaap_BalanceSheetLocationDomain_638451631020421312" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesMember" xlink:label="us-gaap_AccruedLiabilitiesMember_638451631020421312" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationDomain_638451631020421312" xlink:to="us-gaap_AccruedLiabilitiesMember_638451631020421312" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember" xlink:label="us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_638451631020421312" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BalanceSheetLocationDomain_638451631020421312" xlink:to="us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_638451631020421312" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeInstrumentRiskAxis" xlink:label="us-gaap_DerivativeInstrumentRiskAxis_638451631020421312" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_638451631020411310" xlink:to="us-gaap_DerivativeInstrumentRiskAxis_638451631020421312" order="2" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeContractTypeDomain" xlink:label="us-gaap_DerivativeContractTypeDomain_638451631020421312" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeInstrumentRiskAxis_638451631020421312" xlink:to="us-gaap_DerivativeContractTypeDomain_638451631020421312" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignExchangeForwardMember" xlink:label="us-gaap_ForeignExchangeForwardMember_638451631020421312" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativeContractTypeDomain_638451631020421312" xlink:to="us-gaap_ForeignExchangeForwardMember_638451631020421312" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_HedgingDesignationAxis" xlink:label="us-gaap_HedgingDesignationAxis_638451631020421312" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_638451631020411310" xlink:to="us-gaap_HedgingDesignationAxis_638451631020421312" order="3" use="optional" priority="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_HedgingDesignationDomain" xlink:label="us-gaap_HedgingDesignationDomain_638451631020421312" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_HedgingDesignationAxis_638451631020421312" xlink:to="us-gaap_HedgingDesignationDomain_638451631020421312" order="1" use="optional" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DesignatedAsHedgingInstrumentMember" xlink:label="us-gaap_DesignatedAsHedgingInstrumentMember_638451631020421312" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_HedgingDesignationDomain_638451631020421312" xlink:to="us-gaap_DesignatedAsHedgingInstrumentMember_638451631020421312" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativesFairValueLineItems" xlink:label="us-gaap_DerivativesFairValueLineItems_638451631020421312" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_638451631020411310" xlink:to="us-gaap_DerivativesFairValueLineItems_638451631020421312" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeInstrumentsAndHedgesLiabilities" xlink:label="us-gaap_DerivativeInstrumentsAndHedgesLiabilities_638451631020421312" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DerivativesFairValueLineItems_638451631020421312" xlink:to="us-gaap_DerivativeInstrumentsAndHedgesLiabilities_638451631020421312" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureDerivativesContractsDesignatedAsCashFlowHedgesDetails" xlink:type="extended" xlink:title="41603 - Disclosure - Derivatives - Contracts designated as cash flow hedges (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_595" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax_638451631020431313" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_595" xlink:to="us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax_638451631020431313" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodBeforeTax" xlink:label="us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodBeforeTax_638451631020431313" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_595" xlink:to="us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodBeforeTax_638451631020431313" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.innodata-isogen.com/role/DisclosureLineOfCreditDetails" xlink:type="extended" xlink:title="41701 - Disclosure - Line Of Credit (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityAbstract" xlink:label="us-gaap_LineOfCreditFacilityAbstract_1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityTable" xlink:label="us-gaap_LineOfCreditFacilityTable_638451631020431313" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityAbstract_1" xlink:to="us-gaap_LineOfCreditFacilityTable_638451631020431313" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis_638451631020431313" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityTable_638451631020431313" xlink:to="us-gaap_CreditFacilityAxis_638451631020431313" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain_638451631020431313" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityAxis_638451631020431313" xlink:to="us-gaap_CreditFacilityDomain_638451631020431313" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="us-gaap_RevolvingCreditFacilityMember_638451631020431313" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityDomain_638451631020431313" xlink:to="us-gaap_RevolvingCreditFacilityMember_638451631020431313" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateAxis" xlink:label="us-gaap_VariableRateAxis_638451631020441312" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityTable_638451631020431313" xlink:to="us-gaap_VariableRateAxis_638451631020441312" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateDomain" xlink:label="us-gaap_VariableRateDomain_638451631020441312" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableRateAxis_638451631020441312" xlink:to="us-gaap_VariableRateDomain_638451631020441312" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember" xlink:label="us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember_638451631020441312" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableRateDomain_638451631020441312" xlink:to="us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember_638451631020441312" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityLineItems" xlink:label="us-gaap_LineOfCreditFacilityLineItems_638451631020441312" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityTable_638451631020431313" xlink:to="us-gaap_LineOfCreditFacilityLineItems_638451631020441312" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_638451631020441312" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityLineItems_638451631020441312" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_638451631020441312" order="1" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_LineOfCreditFacilityPercentageOfEligibleAccountsConsideredForDeterminationOfBorrowingBase" xlink:label="inod_LineOfCreditFacilityPercentageOfEligibleAccountsConsideredForDeterminationOfBorrowingBase_638451631020441312" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityLineItems_638451631020441312" xlink:to="inod_LineOfCreditFacilityPercentageOfEligibleAccountsConsideredForDeterminationOfBorrowingBase_638451631020441312" order="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_LineOfCreditFacilityPercentageOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase" xlink:label="inod_LineOfCreditFacilityPercentageOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase_638451631020441312" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityLineItems_638451631020441312" xlink:to="inod_LineOfCreditFacilityPercentageOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase_638451631020441312" order="3" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_LineOfCreditFacilityMaximumAmountOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase" xlink:label="inod_LineOfCreditFacilityMaximumAmountOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase_638451631020441312" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityLineItems_638451631020441312" xlink:to="inod_LineOfCreditFacilityMaximumAmountOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase_638451631020441312" order="4" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity_638451631020441312" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityLineItems_638451631020441312" xlink:to="us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity_638451631020441312" order="5" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="inod-20231231.xsd#inod_LineOfCreditFacilityCovenantTermsThresholdMinimumRequiredFixedChargeCoverageRatio" xlink:label="inod_LineOfCreditFacilityCovenantTermsThresholdMinimumRequiredFixedChargeCoverageRatio_638451631020441312" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityLineItems_638451631020441312" xlink:to="inod_LineOfCreditFacilityCovenantTermsThresholdMinimumRequiredFixedChargeCoverageRatio_638451631020441312" order="6" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:label="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_638451631020441312" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityLineItems_638451631020441312" xlink:to="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_638451631020441312" order="7" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" priority="1" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" xlink:type="extended" xlink:title="995445 - Disclosure - Insider Trading Arrangements" />
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>15
<FILENAME>R1.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644461910144">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Document and Entity Information - USD ($)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Feb. 16, 2024</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CoverAbstract', window );"><strong>Document and Entity Information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentType', window );">Document Type</a></td>
<td class="text">10-K<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentAnnualReport', window );">Document Annual Report</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentPeriodEndDate', window );">Document Period End Date</a></td>
<td class="text">Dec. 31,  2023<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentTransitionReport', window );">Document Transition Report</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityFileNumber', window );">Entity File Number</a></td>
<td class="text">001-35774<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityRegistrantName', window );">Entity Registrant Name</a></td>
<td class="text">INNODATA&#160;INC<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityIncorporationStateCountryCode', window );">Entity Incorporation, State or Country Code</a></td>
<td class="text">DE<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityTaxIdentificationNumber', window );">Entity Tax Identification Number</a></td>
<td class="text">13-3475943<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressAddressLine1', window );">Entity Address, Address Line One</a></td>
<td class="text">55 Challenger Road<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressCityOrTown', window );">Entity Address, City or Town</a></td>
<td class="text">Ridgefield Park<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressStateOrProvince', window );">Entity Address, State or Province</a></td>
<td class="text">NJ<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressPostalZipCode', window );">Entity Address, Postal Zip Code</a></td>
<td class="text">07660<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CityAreaCode', window );">City Area Code</a></td>
<td class="text">201<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_LocalPhoneNumber', window );">Local Phone Number</a></td>
<td class="text">371-8000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_Security12bTitle', window );">Title of 12(b) Security</a></td>
<td class="text">Common Stock<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_TradingSymbol', window );">Trading Symbol</a></td>
<td class="text">INOD<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_SecurityExchangeName', window );">Security Exchange Name</a></td>
<td class="text">NASDAQ<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityVoluntaryFilers', window );">Entity Voluntary Filers</a></td>
<td class="text">No<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCurrentReportingStatus', window );">Entity Current Reporting Status</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityInteractiveDataCurrent', window );">Entity Interactive Data Current</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityFilerCategory', window );">Entity Filer Category</a></td>
<td class="text">Non-accelerated Filer<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityPublicFloat', window );">Entity Public Float</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 294,823,074<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntitySmallBusiness', window );">Entity Small Business</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityEmergingGrowthCompany', window );">Entity Emerging Growth Company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityShellCompany', window );">Entity Shell Company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCommonStockSharesOutstanding', window );">Entity Common Stock, Shares Outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">28,752,874<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCentralIndexKey', window );">Entity Central Index Key</a></td>
<td class="text">0000903651<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CurrentFiscalYearEndDate', window );">Current Fiscal Year End Date</a></td>
<td class="text">--12-31<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityWellKnownSeasonedIssuer', window );">Entity Well-known Seasoned Issuer</a></td>
<td class="text">No<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentFinStmtErrorCorrectionFlag', window );">Document Financial Statement Error Correction [Flag]</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentFiscalYearFocus', window );">Document Fiscal Year Focus</a></td>
<td class="text">2023<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentFiscalPeriodFocus', window );">Document Fiscal Period Focus</a></td>
<td class="text">FY<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AmendmentFlag', window );">Amendment Flag</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AuditorName', window );">Auditor Name</a></td>
<td class="text">BDO India LLP<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AuditorFirmId', window );">Auditor Firm ID</a></td>
<td class="text">6074<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AuditorLocation', window );">Auditor Location</a></td>
<td class="text">Mumbai<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AmendmentFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AmendmentFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AuditorFirmId">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>PCAOB issued Audit Firm Identifier</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AuditorFirmId</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:nonemptySequenceNumberItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AuditorLocation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AuditorLocation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:internationalNameItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AuditorName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AuditorName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:internationalNameItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CityAreaCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Area code of city</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CityAreaCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CoverAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Cover page.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CoverAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CurrentFiscalYearEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>End date of current fiscal year in the format --MM-DD.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CurrentFiscalYearEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gMonthDayItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentAnnualReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as an annual report.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentAnnualReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFinStmtErrorCorrectionFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicates whether any of the financial statement period in the filing include a restatement due to error correction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 402<br> -Subsection w<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFinStmtErrorCorrectionFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalPeriodFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fiscal period values are FY, Q1, Q2, and Q3.  1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalPeriodFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fiscalPeriodItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalYearFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalYearFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gYearItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentPeriodEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period.  The format of the date is YYYY-MM-DD.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentPeriodEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:dateItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentTransitionReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as a transition report.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Forms 10-K, 10-Q, 20-F<br> -Number 240<br> -Section 13<br> -Subsection a-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentTransitionReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentType">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentType</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:submissionTypeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressAddressLine1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Address Line 1 such as Attn, Building Name, Street Name</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressAddressLine1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressCityOrTown">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the City or Town</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressCityOrTown</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressPostalZipCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Code for the postal or zip code</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressPostalZipCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressStateOrProvince">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the state or province.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressStateOrProvince</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:stateOrProvinceItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCentralIndexKey">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCentralIndexKey</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:centralIndexKeyItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCurrentReportingStatus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCurrentReportingStatus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityEmergingGrowthCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate if registrant meets the emerging growth company criteria.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityEmergingGrowthCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFileNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFileNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fileNumberItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFilerCategory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFilerCategory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:filerCategoryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityIncorporationStateCountryCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Two-character EDGAR code representing the state or country of incorporation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityIncorporationStateCountryCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarStateCountryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityInteractiveDataCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-T<br> -Number 232<br> -Section 405<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityInteractiveDataCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityPublicFloat">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate market value of the voting and non-voting common equity held by non-affiliates computed by reference to the price at which the common equity was last sold, or the average bid and asked price of such common equity, as of the last business day of the registrant's most recently completed second fiscal quarter.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityPublicFloat</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityRegistrantName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityRegistrantName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityShellCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityShellCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntitySmallBusiness">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicates that the company is a Smaller Reporting Company (SRC).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntitySmallBusiness</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityTaxIdentificationNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityTaxIdentificationNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:employerIdItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityVoluntaryFilers">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate 'Yes' or 'No' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityVoluntaryFilers</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityWellKnownSeasonedIssuer">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate 'Yes' or 'No' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br> -Section 405<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityWellKnownSeasonedIssuer</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LocalPhoneNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Local phone number for entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LocalPhoneNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_Security12bTitle">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Title of a 12(b) registered security.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_Security12bTitle</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:securityTitleItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_SecurityExchangeName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the Exchange on which a security is registered.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection d1-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_SecurityExchangeName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarExchangeCodeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_TradingSymbol">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Trading symbol of an instrument as listed on an exchange.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_TradingSymbol</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:tradingSymbolItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>16
<FILENAME>R2.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644464010528">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>CONSOLIDATED BALANCE SHEETS - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrentAbstract', window );"><strong>Current assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="nump">$ 13,806<span></span>
</td>
<td class="nump">$ 9,792<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherShortTermInvestments', window );">Short term investments - other</a></td>
<td class="nump">14<span></span>
</td>
<td class="nump">507<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Accounts receivable, net of allowance for doubtful accounts</a></td>
<td class="nump">14,288<span></span>
</td>
<td class="nump">9,528<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent', window );">Prepaid expenses and other current assets</a></td>
<td class="nump">3,969<span></span>
</td>
<td class="nump">3,858<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrent', window );">Total current assets</a></td>
<td class="nump">32,077<span></span>
</td>
<td class="nump">23,685<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property and equipment, net</a></td>
<td class="nump">2,281<span></span>
</td>
<td class="nump">2,511<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAsset', window );">Right-of-use-asset, net</a></td>
<td class="nump">5,054<span></span>
</td>
<td class="nump">4,309<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAssetsNoncurrent', window );">Other assets</a></td>
<td class="nump">2,445<span></span>
</td>
<td class="nump">1,498<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxAssetsNet', window );">Deferred income taxes, net</a></td>
<td class="nump">1,741<span></span>
</td>
<td class="nump">1,475<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IntangibleAssetsNetExcludingGoodwill', window );">Intangibles, net</a></td>
<td class="nump">13,758<span></span>
</td>
<td class="nump">12,526<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">2,075<span></span>
</td>
<td class="nump">2,038<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Assets', window );">Total assets</a></td>
<td class="nump">59,431<span></span>
</td>
<td class="nump">48,042<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrentAbstract', window );"><strong>Current liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsPayableCurrent', window );">Accounts payable</a></td>
<td class="nump">2,662<span></span>
</td>
<td class="nump">2,630<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccruedLiabilitiesCurrent', window );">Accrued expenses and other</a></td>
<td class="nump">6,583<span></span>
</td>
<td class="nump">7,250<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeRelatedLiabilitiesCurrent', window );">Accrued salaries, wages and related benefits</a></td>
<td class="nump">7,799<span></span>
</td>
<td class="nump">6,136<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TaxesPayableCurrent', window );">Income and other taxes</a></td>
<td class="nump">3,848<span></span>
</td>
<td class="nump">3,230<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_CurrentPortionOfLongTermObligations', window );">Long-term obligations - current portion</a></td>
<td class="nump">1,261<span></span>
</td>
<td class="nump">877<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrent', window );">Operating lease liability - current portion</a></td>
<td class="nump">782<span></span>
</td>
<td class="nump">693<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrent', window );">Total current liabilities</a></td>
<td class="nump">22,935<span></span>
</td>
<td class="nump">20,816<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxLiabilitiesNet', window );">Deferred income taxes, net</a></td>
<td class="nump">22<span></span>
</td>
<td class="nump">65<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_NoncurrentPortionOfLongTermObligations', window );">Long-term obligations, net of current portion</a></td>
<td class="nump">6,778<span></span>
</td>
<td class="nump">5,079<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityNoncurrent', window );">Operating lease liability, net of current portion</a></td>
<td class="nump">4,701<span></span>
</td>
<td class="nump">4,036<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Liabilities', window );">Total liabilities</a></td>
<td class="nump">34,436<span></span>
</td>
<td class="nump">29,996<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingencies', window );">Commitments and contingencies</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RedeemableNoncontrollingInterestEquityCarryingAmount', window );">Non-controlling interests</a></td>
<td class="num">(708)<span></span>
</td>
<td class="num">(727)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityAbstract', window );"><strong>STOCKHOLDERS' EQUITY:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockValue', window );">Serial preferred stock; 4,998,000 shares authorized, none outstanding</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockValue', window );">Common stock, $.01 par value; 75,000,000 shares authorized; 31,937,000 shares issued and 28,753,000 outstanding at December 31, 2023 and 30,589,000 shares issued and 27,405,000 outstanding at December 31, 2022</a></td>
<td class="nump">320<span></span>
</td>
<td class="nump">306<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdditionalPaidInCapital', window );">Additional paid-in capital</a></td>
<td class="nump">43,152<span></span>
</td>
<td class="nump">35,815<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Deficit</a></td>
<td class="num">(9,683)<span></span>
</td>
<td class="num">(8,775)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax', window );">Accumulated other comprehensive loss</a></td>
<td class="num">(1,621)<span></span>
</td>
<td class="num">(2,108)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityBeforeTreasuryStock', window );">Stockholders' Equity before Treasury Stock, Total</a></td>
<td class="nump">32,168<span></span>
</td>
<td class="nump">25,238<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TreasuryStockValue', window );">Less: treasury stock, 3,184,000 shares at December 31, 2023 and 2022, at cost</a></td>
<td class="num">(6,465)<span></span>
</td>
<td class="num">(6,465)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Total stockholders' equity</a></td>
<td class="nump">25,703<span></span>
</td>
<td class="nump">18,773<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesAndStockholdersEquity', window );">Total liabilities, non-controlling interests and stockholders' equity</a></td>
<td class="nump">$ 59,431<span></span>
</td>
<td class="nump">$ 48,042<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_CurrentPortionOfLongTermObligations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The current portion of long-term obligations of the entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_CurrentPortionOfLongTermObligations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_NoncurrentPortionOfLongTermObligations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The non-current portion of long-term obligations of the entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_NoncurrentPortionOfLongTermObligations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481990/310-10-45-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481990/310-10-45-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-14A<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-11<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-14<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdditionalPaidInCapital">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of excess of issue price over par or stated value of stock and from other transaction involving stock or stockholder. Includes, but is not limited to, additional paid-in capital (APIC) for common and preferred stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdditionalPaidInCapital</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Assets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 23: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 26: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Assets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingencies">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.17)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.25)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingencies</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-4<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxLiabilitiesNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(15)(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-4<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxLiabilitiesNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeRelatedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeRelatedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482548/350-20-55-24<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482598/350-20-45-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IntangibleAssetsNetExcludingGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph ((a)(1),(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482686/350-30-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsNetExcludingGoodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Liabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(14))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 21: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 22: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19-26)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Liabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesAndStockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(32))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesAndStockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-5<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 21: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.21)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's right to use underlying asset under operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAssetsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncurrent assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAssetsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherShortTermInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of short-term investments classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(1)(g))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.5)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherShortTermInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(21))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PrepaidExpenseAndOtherAssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 360<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480842/942-360-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RedeemableNoncontrollingInterestEquityCarryingAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>As of the reporting date, the aggregate carrying amount of all noncontrolling interests which are redeemable by the (parent) entity (1) at a fixed or determinable price on a fixed or determinable date, (2) at the option of the holder of the noncontrolling interest, or (3) upon occurrence of an event that is not solely within the control of the (parent) entity. This item includes noncontrolling interest holder's ownership (or holders' ownership) regardless of the type of equity interest (common, preferred, other) including all potential organizational (legal) forms of the investee entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 480<br> -SubTopic 10<br> -Subparagraph (12)(c)<br> -Section S99<br> -Paragraph 3A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480244/480-10-S99-3A<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 480<br> -SubTopic 10<br> -Subparagraph 14<br> -Paragraph 3A<br> -Section S99<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480244/480-10-S99-3A<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 480<br> -SubTopic 10<br> -Subparagraph 15<br> -Paragraph 3A<br> -Section S99<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480244/480-10-S99-3A<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 480<br> -SubTopic 10<br> -Subparagraph (16)(c)<br> -Paragraph 3A<br> -Section S99<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480244/480-10-S99-3A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RedeemableNoncontrollingInterestEquityCarryingAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RetainedEarningsAccumulatedDeficit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated undistributed earnings (deficit).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480990/946-20-50-11<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RetainedEarningsAccumulatedDeficit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 13: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 14: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480418/310-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityBeforeTreasuryStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total amount of stockholders' equity (deficit) items including stock value, paid in capital, retained earnings and including equity attributable to noncontrolling interests and before deducting the carrying value of treasury stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityBeforeTreasuryStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TaxesPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred and payable for statutory income, sales, use, payroll, excise, real, property and other taxes. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19,20)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TaxesPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount allocated to treasury stock. Treasury stock is common and preferred shares of an entity that were issued, repurchased by the entity, and are held in its treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481520/505-30-50-4<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481549/505-30-45-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29,30)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>17
<FILENAME>R3.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644461889888">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>CONSOLIDATED BALANCE SHEETS (Parenthetical) - $ / shares<br></strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementOfFinancialPositionAbstract', window );"><strong>CONSOLIDATED BALANCE SHEETS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesAuthorized', window );">Serial preferred stock, shares authorized</a></td>
<td class="nump">4,998,000<span></span>
</td>
<td class="nump">4,998,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesOutstanding', window );">Serial preferred stock, outstanding</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockParOrStatedValuePerShare', window );">Common stock, par value (in dollars per share)</a></td>
<td class="nump">$ 0.01<span></span>
</td>
<td class="nump">$ 0.01<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesAuthorized', window );">Common stock, shares authorized</a></td>
<td class="nump">75,000,000<span></span>
</td>
<td class="nump">75,000,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Common stock, shares issued</a></td>
<td class="nump">31,937,000<span></span>
</td>
<td class="nump">30,589,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Common stock, shares outstanding</a></td>
<td class="nump">28,753,000<span></span>
</td>
<td class="nump">27,405,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TreasuryStockCommonShares', window );">Treasury stock, shares</a></td>
<td class="nump">3,184,000<span></span>
</td>
<td class="nump">3,184,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of common stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The maximum number of common shares permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementOfFinancialPositionAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementOfFinancialPositionAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockCommonShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of previously issued common shares repurchased by the issuing entity and held in treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481549/505-30-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockCommonShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>18
<FILENAME>R4.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644464055568">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE LOSS - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementAbstract', window );"><strong>CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE LOSS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Revenues</a></td>
<td class="nump">$ 86,775<span></span>
</td>
<td class="nump">$ 79,001<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostsAndExpensesAbstract', window );"><strong>Operating costs and expenses:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DirectOperatingCosts', window );">Direct operating costs</a></td>
<td class="nump">55,482<span></span>
</td>
<td class="nump">51,533<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SellingGeneralAndAdministrativeExpense', window );">Selling and administrative expenses</a></td>
<td class="nump">30,975<span></span>
</td>
<td class="nump">37,940<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestIncomeExpenseNonoperatingNet', window );">Interest expense, net</a></td>
<td class="nump">179<span></span>
</td>
<td class="nump">11<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostsAndExpenses', window );">Total</a></td>
<td class="nump">86,636<span></span>
</td>
<td class="nump">89,484<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income (loss) before provision for income taxes</a></td>
<td class="nump">139<span></span>
</td>
<td class="num">(10,483)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Provision for income taxes</a></td>
<td class="nump">1,028<span></span>
</td>
<td class="nump">1,522<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Consolidated net loss</a></td>
<td class="num">(889)<span></span>
</td>
<td class="num">(12,005)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLossAttributableToNoncontrollingInterest', window );">Income (loss) attributable to non-controlling interests</a></td>
<td class="nump">19<span></span>
</td>
<td class="num">(70)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_NetIncomeLossAttributableToParent1', window );">Net Loss attributable to Innodata Inc. and Subsidiaries</a></td>
<td class="num">$ (908)<span></span>
</td>
<td class="num">$ (11,935)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Loss per share attributable to Innodata Inc. and Subsidiaries:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Basic (in dollars per share)</a></td>
<td class="num">$ (0.03)<span></span>
</td>
<td class="num">$ (0.44)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Diluted (in dollars per share)</a></td>
<td class="num">$ (0.03)<span></span>
</td>
<td class="num">$ (0.44)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract', window );"><strong>Weighted average shares outstanding:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Basic (in shares)</a></td>
<td class="nump">28,131<span></span>
</td>
<td class="nump">27,278<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Diluted (in shares)</a></td>
<td class="nump">28,131<span></span>
</td>
<td class="nump">27,278<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ComprehensiveIncomeNetOfTaxAbstract', window );"><strong>Comprehensive Loss:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Consolidated net loss</a></td>
<td class="num">$ (889)<span></span>
</td>
<td class="num">$ (12,005)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax', window );">Pension liability adjustment, net of taxes</a></td>
<td class="num">(326)<span></span>
</td>
<td class="nump">772<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Foreign currency translation adjustment</a></td>
<td class="nump">407<span></span>
</td>
<td class="num">(676)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax', window );">Change in fair value of derivatives, net of taxes</a></td>
<td class="nump">406<span></span>
</td>
<td class="num">(12)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossNetOfTax', window );">Other comprehensive income</a></td>
<td class="nump">487<span></span>
</td>
<td class="nump">84<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest', window );">Total comprehensive loss</a></td>
<td class="num">(402)<span></span>
</td>
<td class="num">(11,921)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest', window );">Comprehensive income (loss) attributed to non-controlling interest</a></td>
<td class="nump">19<span></span>
</td>
<td class="num">(70)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ComprehensiveIncomeNetOfTax', window );">Comprehensive loss attributable to Innodata Inc. and Subsidiaries</a></td>
<td class="num">$ (421)<span></span>
</td>
<td class="num">$ (11,851)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_NetIncomeLossAttributableToParent1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_NetIncomeLossAttributableToParent1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ComprehensiveIncomeNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(24))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(26))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomeNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ComprehensiveIncomeNetOfTaxAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomeNetOfTaxAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income (loss) and other comprehensive income (loss), attributable to noncontrolling interests. Excludes changes in equity resulting from investments by owners and distributions to owners.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -SubTopic 10<br> -Topic 810<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-20<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(21))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-21<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4K<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481175/810-10-55-4K<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income. Excludes changes in equity resulting from investments by owners and distributions to owners.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-19<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(24))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4K<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481175/810-10-55-4K<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostsAndExpenses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total costs of sales and operating expenses for the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostsAndExpenses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostsAndExpensesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostsAndExpensesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DirectOperatingCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate direct operating costs incurred during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DirectOperatingCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-15<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-7<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-10<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-52<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-15<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-7<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-52<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479557/942-235-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 1<br> -SubTopic 20<br> -Topic 940<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481913/940-20-25-1<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-10<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482659/740-20-45-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestIncomeExpenseNonoperatingNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The net amount of nonoperating interest income (expense).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestIncomeExpenseNonoperatingNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLossAttributableToNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of Net Income (Loss) attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1A<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4J<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481175/810-10-55-4J<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLossAttributableToNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after tax and reclassification, of gain (loss) from derivative instrument designated and qualifying as cash flow hedge included in assessment of hedge effectiveness.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-11<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-10A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 220<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-10A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax and reclassification adjustments of other comprehensive income (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481674/830-30-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481694/830-30-45-17<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-4<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-5<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481694/830-30-45-20<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(21))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -SubTopic 10<br> -Topic 220<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482739/220-10-55-15<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after tax and reclassification adjustment, of (increase) decrease in accumulated other comprehensive income for defined benefit plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (i-k)<br> -SubTopic 10<br> -Topic 220<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-10A<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-11<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProfitLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-11<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480767/946-205-45-3<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-19<br><br>Reference 16: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 29: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479557/942-235-S99-1<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 33: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4J<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481175/810-10-55-4J<br><br>Reference 34: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4K<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481175/810-10-55-4K<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-2<br><br>Reference 38: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1A<br><br>Reference 39: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProfitLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Revenues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479557/942-235-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Revenues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SellingGeneralAndAdministrativeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate total costs related to selling a firm's product and services, as well as all other general and administrative expenses. Direct selling expenses (for example, credit, warranty, and advertising) are expenses that can be directly linked to the sale of specific products. Indirect selling expenses are expenses that cannot be directly linked to the sale of specific products, for example telephone expenses, Internet, and postal charges. General and administrative expenses include salaries of non-sales personnel, rent, utilities, communication, etc.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SellingGeneralAndAdministrativeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-16<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>19
<FILENAME>R5.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644458532256">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Common Stock</div></th>
<th class="th"><div>Additional Paid-in Capital</div></th>
<th class="th"><div>Retained Earnings</div></th>
<th class="th"><div>Accumulated Other Comprehensive Loss</div></th>
<th class="th"><div>Treasury Stock</div></th>
<th class="th"><div>Total</div></th>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at the beginning at Dec. 31, 2021</a></td>
<td class="nump">$ 303<span></span>
</td>
<td class="nump">$ 35,121<span></span>
</td>
<td class="nump">$ 3,160<span></span>
</td>
<td class="num">$ (2,192)<span></span>
</td>
<td class="num">$ (6,465)<span></span>
</td>
<td class="nump">$ 29,927<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TreasuryStockCommonShares', window );">Balance at the beginning (in shares) at Dec. 31, 2021</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(3,184,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balance at the beginning (in shares) at Dec. 31, 2021</a></td>
<td class="nump">30,347,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net Income (Loss)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(11,935)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(11,935)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,283<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,283<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised', window );">Stock option exercises</a></td>
<td class="nump">$ 3<span></span>
</td>
<td class="nump">329<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">332<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Stock option exercises (in shares)</a></td>
<td class="nump">249,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestrictedStockValueSharesIssuedNetOfTaxWithholdings', window );">Shares withheld for taxes on restricted shares vesting</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(53)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(53)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestrictedStockSharesIssuedNetOfSharesForTaxWithholdings', window );">Shares withheld for taxes on restricted shares vesting (in shares)</a></td>
<td class="num">(7,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalOther', window );">Redemption of non-controlling interest</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(2,865)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(2,865)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax', window );">Pension liability adjustment, net of taxes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">772<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">772<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Foreign currency translation adjustment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(676)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(676)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax', window );">Change in fair value of derivatives, net of taxes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(12)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(12)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at the end at Dec. 31, 2022</a></td>
<td class="nump">$ 306<span></span>
</td>
<td class="nump">35,815<span></span>
</td>
<td class="num">(8,775)<span></span>
</td>
<td class="num">(2,108)<span></span>
</td>
<td class="num">$ (6,465)<span></span>
</td>
<td class="nump">$ 18,773<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TreasuryStockCommonShares', window );">Balance at the end (in shares) at Dec. 31, 2022</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(3,184,000)<span></span>
</td>
<td class="nump">3,184,000<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balance at the end (in shares) at Dec. 31, 2022</a></td>
<td class="nump">30,589,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net Income (Loss)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(908)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (908)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,027<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,027<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised', window );">Stock option exercises</a></td>
<td class="nump">$ 14<span></span>
</td>
<td class="nump">3,310<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,324<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Stock option exercises (in shares)</a></td>
<td class="nump">1,351,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation', window );">Shares withheld for exercise net settlement (in shares)</a></td>
<td class="num">(3,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax', window );">Pension liability adjustment, net of taxes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(326)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(326)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Foreign currency translation adjustment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">407<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">407<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax', window );">Change in fair value of derivatives, net of taxes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">406<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">406<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at the end at Dec. 31, 2023</a></td>
<td class="nump">$ 320<span></span>
</td>
<td class="nump">$ 43,152<span></span>
</td>
<td class="num">$ (9,683)<span></span>
</td>
<td class="num">$ (1,621)<span></span>
</td>
<td class="num">$ (6,465)<span></span>
</td>
<td class="nump">$ 25,703<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TreasuryStockCommonShares', window );">Balance at the end (in shares) at Dec. 31, 2023</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(3,184,000)<span></span>
</td>
<td class="nump">3,184,000<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Balance at the end (in shares) at Dec. 31, 2023</a></td>
<td class="nump">31,937,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of other increase (decrease) in additional paid in capital (APIC).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToAdditionalPaidInCapitalOther</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481089/718-20-55-13<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481089/718-20-55-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 35: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 38: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 39: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after tax and reclassification, of gain (loss) from derivative instrument designated and qualifying as cash flow hedge included in assessment of hedge effectiveness.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-11<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-10A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 220<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-10A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after tax and reclassification adjustment, of (increase) decrease in accumulated other comprehensive income for defined benefit plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (i-k)<br> -SubTopic 10<br> -Topic 220<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-10A<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-11<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestrictedStockSharesIssuedNetOfSharesForTaxWithholdings">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number, after shares used to satisfy grantee's tax withholding obligation for award under share-based payment arrangement, of restricted shares issued. Excludes cash used to satisfy grantee's tax withholding obligation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestrictedStockSharesIssuedNetOfSharesForTaxWithholdings</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestrictedStockValueSharesIssuedNetOfTaxWithholdings">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Value, after value of shares used to satisfy grantee's tax withholding obligation for award under share-based payment arrangement, of restricted shares issued. Excludes cash used to satisfy grantee's tax withholding obligation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestrictedStockValueSharesIssuedNetOfTaxWithholdings</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares issued which are neither cancelled nor held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares used to settle grantee's tax withholding obligation for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of share options (or share units) exercised during the current period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Value of stock issued as a result of the exercise of stock options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29-31)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 13: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 14: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480418/310-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockCommonShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of previously issued common shares repurchased by the issuing entity and held in treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481549/505-30-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockCommonShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>20
<FILENAME>R6.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644463981152">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONSOLIDATED STATEMENTS OF CASH FLOWS - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Cash flows from operating activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Consolidated net loss</a></td>
<td class="num">$ (889)<span></span>
</td>
<td class="num">$ (12,005)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Adjustments to reconcile consolidated net loss to net cash provided by operating activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DepreciationDepletionAndAmortization', window );">Depreciation and amortization</a></td>
<td class="nump">4,716<span></span>
</td>
<td class="nump">3,889<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensation', window );">Stock-based compensation</a></td>
<td class="nump">4,027<span></span>
</td>
<td class="nump">3,283<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxesAndTaxCredits', window );">Deferred income taxes</a></td>
<td class="num">(276)<span></span>
</td>
<td class="nump">217<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProvisionForLoanLossesExpensed', window );">Provision for doubtful accounts</a></td>
<td class="nump">426<span></span>
</td>
<td class="nump">480<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedContributionPlanIncreaseDecreaseCost', window );">Pension cost</a></td>
<td class="nump">1,046<span></span>
</td>
<td class="nump">943<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainLossOnTerminationOfLease', window );">Loss on lease termination</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">125<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract', window );"><strong>Changes in operating assets and liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsReceivable', window );">Accounts receivable</a></td>
<td class="num">(5,116)<span></span>
</td>
<td class="nump">1,303<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets', window );">Prepaid expenses and other current assets</a></td>
<td class="nump">372<span></span>
</td>
<td class="num">(226)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherOperatingAssets', window );">Other assets</a></td>
<td class="num">(171)<span></span>
</td>
<td class="nump">750<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities', window );">Accounts payable, accrued expenses and other</a></td>
<td class="num">(490)<span></span>
</td>
<td class="nump">322<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities', window );">Accrued salaries, wages and related benefits</a></td>
<td class="nump">1,653<span></span>
</td>
<td class="num">(310)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccruedTaxesPayable', window );">Income and other taxes</a></td>
<td class="nump">605<span></span>
</td>
<td class="nump">13<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivities', window );">Net cash provided by (used in) operating activities</a></td>
<td class="nump">5,903<span></span>
</td>
<td class="num">(1,216)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract', window );"><strong>Cash flows from investing activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment', window );">Capital expenditures</a></td>
<td class="num">(5,564)<span></span>
</td>
<td class="num">(6,526)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsForProceedsFromShortTermInvestments', window );">Proceeds from (purchase of) short term investments - others</a></td>
<td class="nump">493<span></span>
</td>
<td class="num">(507)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivities', window );">Net cash used in investing activities</a></td>
<td class="num">(5,071)<span></span>
</td>
<td class="num">(7,033)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract', window );"><strong>Cash flows from financing activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromStockOptionsExercised', window );">Proceeds from exercise of stock options</a></td>
<td class="nump">3,324<span></span>
</td>
<td class="nump">332<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RepaymentsOfLongTermDebt', window );">Payment of long-term obligations</a></td>
<td class="num">(452)<span></span>
</td>
<td class="num">(639)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivities', window );">Net cash provided by (used in) financing activities</a></td>
<td class="nump">2,872<span></span>
</td>
<td class="num">(307)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Effect of exchange rate changes on cash and cash equivalents</a></td>
<td class="nump">310<span></span>
</td>
<td class="num">(554)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect', window );">Net increase (decrease) in cash and cash equivalents</a></td>
<td class="nump">4,014<span></span>
</td>
<td class="num">(9,110)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash and cash equivalents, beginning of year</a></td>
<td class="nump">9,792<span></span>
</td>
<td class="nump">18,902<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash and cash equivalents, end of year</a></td>
<td class="nump">13,806<span></span>
</td>
<td class="nump">9,792<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SupplementalCashFlowInformationAbstract', window );"><strong>Supplemental disclosures of cash flow information:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_VendorFinancedSoftwareLicensesAcquired', window );">Vendor financed software licenses acquired</a></td>
<td class="nump">1,162<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxesPaid', window );">Cash paid for income taxes</a></td>
<td class="nump">753<span></span>
</td>
<td class="nump">1,107<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeasePayments', window );">Cash paid for operating leases</a></td>
<td class="nump">1,557<span></span>
</td>
<td class="nump">1,838<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestPaidNet', window );">Cash paid for interest</a></td>
<td class="nump">$ 400<span></span>
</td>
<td class="nump">$ 19<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_VendorFinancedSoftwareLicensesAcquired">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of non cash vendor financed software licenses acquired.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_VendorFinancedSoftwareLicensesAcquired</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-8<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -SubTopic 230<br> -Topic 830<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481877/830-230-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxesAndTaxCredits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred income tax expense (benefit) and income tax credits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxesAndTaxCredits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedContributionPlanIncreaseDecreaseCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in cost for defined contribution plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedContributionPlanIncreaseDecreaseCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DepreciationDepletionAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DepreciationDepletionAndAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies. Excludes amounts for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 230<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481877/830-230-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GainLossOnTerminationOfLease">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of gain (loss) on termination of lease before expiration of lease term.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 40<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479092/842-20-40-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnTerminationOfLease</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxesPaid">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-25<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxesPaid</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the amounts payable to vendors for goods and services received and the amount of obligations and expenses incurred but not paid.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccruedTaxesPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period of all taxes owed but not paid, including income, property and other taxes.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccruedTaxesPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate amount of obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOperatingCapitalAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOtherOperatingAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in operating assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOtherOperatingAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in prepaid expenses, and assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestPaidNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 17<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-17<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestPaidNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-25<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeasePayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-5<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeasePayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsForProceedsFromShortTermInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The net amount paid (received) by the reporting entity through acquisition or sale and maturities of short-term investments with an original maturity that is three months or less which qualify for treatment as an investing activity based on management's intention and intended by management to be liquidated, if necessary, within the current operating cycle. Includes cash flows from securities classified as trading securities that were acquired for reasons other than sale in the short-term.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-12<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-13<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 9<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsForProceedsFromShortTermInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquirePropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow from exercise of option under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-14<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2A<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 718<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProfitLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-11<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480767/946-205-45-3<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-19<br><br>Reference 16: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 29: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479557/942-235-S99-1<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 33: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4J<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481175/810-10-55-4J<br><br>Reference 34: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4K<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481175/810-10-55-4K<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-2<br><br>Reference 38: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1A<br><br>Reference 39: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProfitLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProvisionForLoanLossesExpensed">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of credit loss expense (reversal of expense) for financing receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479319/326-20-50-13<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProvisionForLoanLossesExpensed</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RepaymentsOfLongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow for debt initially having maturity due after one year or beyond the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(i)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479886/946-10-S99-3<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RepaymentsOfLongTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash expense for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SupplementalCashFlowInformationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SupplementalCashFlowInformationAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>21
<FILENAME>R7.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644466290208">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Description of Business and Summary of Significant Accounting Estimates and Policies<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Description of Business and Summary of Significant Accounting Estimates and Policies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock', window );">Description of Business and Summary of Significant Accounting Estimates and Policies</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">1. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Description of Business and Summary of Significant Accounting Estimates and Policies </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Description of Business</b> - Innodata Inc. (NASDAQ: INOD) (including its subsidiaries, the &#8220;Company&#8221;, &#8220;Innodata&#8221;, &#8220;we&#8221;, &#8220;us&#8221; or &#8220;our&#8221;) is a leading data engineering company. The Company&#8217;s mission is to help the world&#8217;s most prestigious companies deliver the promise of ethical, high-performing artificial intelligence (&#8220;AI&#8221;), which the Company believes will contribute to a safer and more prosperous world.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company was founded on a simple idea: engineer the highest quality data so organizations across broad industry segments could make smarter decisions. Today, the Company believes it is delivering the highest quality data for some of the world&#8217;s most innovative technology companies to use to train the AI models of the future.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">AI holds the promise that computers can perceive and understand the world, enabling products and services that would have been previously unimaginable and impossible with traditional coding. AI learns from data, and the highest-performing AI will have learned from the highest-quality data. The Company believes that it can contribute meaningfully by harnessing its capabilities, honed over 30 years, in collecting and annotating data at scale with consistency and high accuracy.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company is also helping companies deploy and integrate AI into their operations and products and providing innovative AI-enabled industry platforms, helping ensure that its customers&#8217; businesses are prepared for a world in which machines augment human activity in ways previously unimaginable. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company developed its capabilities and honed its approaches progressively over the last 30 years creating high-quality data for many of the world&#8217;s most demanding information companies. Approximately eight years ago, the Company formed Innodata Labs, a research and development center, to research, develop and apply machine learning and emerging AI to its large-scale, human-intensive data operations. In 2019, the Company began packaging the capabilities that emerged from its R&amp;D efforts in order to align with several fast-growing new markets and help companies use AI/ML to drive performance benefits and business insights.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company&#8217;s historical core competency in high-quality data, combined with these R&amp;D efforts in applied AI, created the foundation for the evolution of the Company&#8217;s offerings, which include AI Data Preparation, AI Model Deployment and Integration, and AI-Enabled Industry Platforms.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">AI Data Preparation</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">For several of the world&#8217;s large technology companies, the Company supports their efforts at building generative AI foundation models. For these companies, the Company provides or is poised to provide a range of scaled data solutions and services. The Company&#8217;s scaled data solutions include providing instruction data sets for fine-tuning LLMs to understand prompts, to accept instruction, to converse, to apparently reason, and to perform the myriad of incredible feats that many of us have now experienced. The Company also provides reinforcement learning and reward modeling, services which are critical to provide the guardrails against toxic, bias and harmful responses, and model evaluation services. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">For social media companies, robotics companies, financial services companies, and many others, the Company collects or creates training data, annotates training data, and trains AI algorithms for working with images, text, video, audio, code and sensor data. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company utilizes a variety of leading third-party tools, proprietary tools and customer tools. For text annotation, the Company uses its proprietary data annotation platform that incorporates AI to reduce cost while improving consistency and quality of output. The Company&#8217;s proprietary data annotation platform features auto-tagging capabilities that apply to both classical and generative AI tasks. The platform encapsulates many of the innovations the Company has conceived of in the course of its 30-year history of creating high-quality data.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">In addition, because collecting real-world data is often impracticable (due to data privacy regulations or rarity of cohorts and outliers), the Company creates high-quality synthetic data that maintains all of the statistical properties of real-world data, using a combination of domain specialists and machine technologies that leverage large language models (LLMs).</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">AI Model Deployment and Integration</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company helps businesses leverage the latest AI technologies to achieve their goals. The Company develops custom AI models (where it selects the appropriate algorithms, tunes hyperparameters, trains and validates the models, and updates the models as required). The Company also helps businesses fine-tune their own custom versions of the Company&#8217;s proprietary models and third-party foundation models to address domain-specific and customer-specific use cases.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">For the Company&#8217;s customers that provide products and solutions that require intensive text data processing and analytics, in addition to deploying and integrating AI models, the Company often provides a range of data engineering support services including data transformation, data curation, data hygiene, data consolidation, data extraction, data compliance, and master data management.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company&#8217;s customers span a diverse range of industries and a wide range of AI use cases, benefiting from the short time-to-value and high economic returns of the Company&#8217;s AI solutions and platforms.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">AI-Enabled Industry Platforms</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company&#8217;s AI-enabled industry platforms address specific, niche market requirements the Company believes it can innovate with AI/ML technologies. The Company deploys these industry platforms as software-as-a-service (SaaS) and as managed services. These platforms benefit from the Company&#8217;s technology infrastructure, its industry-specific knowledge, its strong customer relationships and experience merging technology with the business processes of its customers. To date, the Company has built an industry platform for medical records data extraction and transformation (which the Company brands as &#8220;Synodex<sup style="font-size:8.25pt;line-height:100%;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;top:0pt;vertical-align:top;">&#174;</sup>&#8221;) and an industry platform for public relations (which the Company brands as &#8220;Agility PR Solutions&#8221;). The Company is in development with an additional AI-enabled industry platform to serve financial services institutions.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company&#8217;s Synodex industry platform transforms medical records into useable digital data organized in accordance with its proprietary data models or customer data models. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company&#8217;s Agility industry platform provides marketing communications and public relations professionals with the ability to target and distribute content to journalists and social media influencers world-wide and to monitor and analyze global news (print, web, radio and TV) and social media.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company&#8217;s operations are presently classified and reported in three reporting segments: Digital Data Solutions (DDS), Synodex and Agility.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><span style="font-style:italic;font-weight:bold;">Critical Accounting Policies and Estimates</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Principles of Consolidation </b>-<b style="font-weight:bold;"> </b>The consolidated financial statements include the accounts of Innodata Inc. and its wholly owned subsidiaries, and docGenix, a limited liability company that is majority-owned by the Company. The non-controlling interests in the docGenix limited liability company have call and put options that can be settled in cash or stock. Accordingly, this is presented in temporary equity in accordance with Financial Accounting Standards Board (FASB) non-controlling interest guidance. All intercompany transactions and balances have been eliminated in consolidation.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Use of Estimates&#160;</b>- In preparing consolidated financial statements in conformity with U.S. GAAP, management is required to make estimates and assumptions that affect the reported amounts of assets and liabilities, the disclosure of contingent assets and liabilities as of the date of the consolidated financial statements, and the reported amounts of revenues and expenses during the reporting period. Management believes that the estimates used in the preparation of the consolidated financial statements are reasonable. Actual results could differ from those estimates. Significant estimates include those related to the allowance for doubtful accounts and billing adjustments, useful life of long-lived assets, useful life of intangible assets, impairment of goodwill and intangible assets, valuation of deferred tax assets, valuation of stock-based compensation, pension benefit plan assumptions, litigation accruals and estimated accruals for various tax exposures.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Revenue Recognition&#160;</b>- The Company&#8217;s revenue is recognized when services are rendered or goods are delivered to a customer, in an amount that reflects the consideration that the Company expects to receive in exchange for those services or goods as per the agreement with the customer. In cases where there are agreements with multiple performance obligations, the Company identifies each performance obligation and evaluates whether the performance obligations are distinct within the context of the agreement at the agreement&#8217;s inception. Performance obligations that are not distinct at agreement inception are combined. For agreements with distinct performance obligations, the Company allocates the transaction price to each distinct performance obligation proportionately based on the estimated standalone selling price for each performance obligation, if any, and then evaluates how the services are performed for the customer to determine the timing of revenue recognition.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">For the Digital Data Solutions (DDS) segment, revenue is recognized primarily based on the quantity delivered or resources utilized in the period in which services are performed and performance conditions are satisfied as per the agreement. Revenue from agreements billed on a time-and-materials basis is recognized as services are performed. Revenue from fixed-fee agreements, which is not significant to overall revenues, is recognized based on the proportional performance method of accounting, as services are performed, or milestones are achieved.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">For the Synodex segment, revenue is recognized primarily based on the quantity delivered in the period in which services are performed and performance conditions are satisfied as per the agreement. A portion of the Synodex segment revenue is derived from licensing the Company&#8217;s functional software and providing access to the Company&#8217;s hosted software platform. Revenue from such services is recognized monthly when all parties to the agreement have agreed to the agreement; each party&#8217;s rights are identifiable; the payment terms are identifiable; the agreement has commercial substance; access to the service is provided to the end user; and collection is probable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Agility segment derives its revenue primarily from subscription arrangements and provision of enriched media analysis services. It also derives revenue as a reseller of corporate communication solutions. Revenue from subscriptions is recognized monthly when access to the service is provided to the end user; all parties to the agreement have agreed to the agreement; each party&#8217;s rights are identifiable; the payment terms are identifiable; the agreement has commercial substance; and collection is probable. Revenue from enriched media analysis services is recognized when the services are performed, and performance conditions are satisfied. Revenue from the reseller agreements is recognized at the gross amount received for the goods in accordance with the Company functioning as a principal due to the Company meeting the following criteria: the Company acts as the primary obligor in the sales transaction; assumes the credit risk; sets the price; can select suppliers; and is involved in the execution of the services, including after sales service.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Revenue includes reimbursement of out-of-pocket expenses, with the corresponding out-of-pocket expenses included in direct operating costs.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Revenue associated with the services provided in one period and billed in a subsequent period is commonly referred to as unbilled revenues and is included under Accounts receivable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company considers U.S. GAAP criteria for determining whether to report gross revenue as a principal versus net revenue as an agent. The Company evaluates whether it is in control of the services before the same are transferred to the customer to assess whether it is principal or agent in the arrangement.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Contract acquisition costs, which are included in prepaid expenses and other current assets, are amortized over the term of a subscription agreement or contract that normally has a duration of 12 months or less. The Company reviews these prepaid acquisition costs on a periodic basis to determine the need to adjust the carrying values for early terminated contracts. Included in prepaid expenses and other current assets on the accompanying consolidated balance sheets are contract acquisition costs amounting to $0.8 million for each of the years ended December 31, 2023 and 2022. These acquisition costs relate to our Agility segment and are amortized over the term of the subscription agreement which normally has a duration of 12 months or less.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Foreign Currency Translation&#160;</b>- The functional currency of the Company&#8217;s subsidiaries in the Philippines, India, Sri Lanka, Israel, Hong Kong, the United Kingdom and Canada (other than the Agility subsidiaries) is the U.S. dollar. Transactions denominated in Philippine pesos, Indian and Sri Lankan rupees, Israeli shekels, United Kingdom pound sterling and Canadian dollars are translated to U.S. dollars at rates which approximate those in effect on the transaction dates. Monetary assets and all liabilities denominated in foreign currencies on December 31, 2023 and December 31, 2022 are translated at the exchange rate in effect as of those dates. Non-monetary assets and stockholders&#8217; equity are translated at the appropriate historical rates. Included in direct operating costs were foreign exchange losses (gains) resulting from such translations of approximately $0.4 million and ($1.3) million for the&#160;years ended December 31, 2023 and 2022, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The functional currency for the Company&#8217;s subsidiary in Germany is the Euro. The functional currencies for the Company&#8217;s Agility subsidiaries in the United Kingdom and Canada are the Pound Sterling and the Canadian dollar, respectively. The financial statements of these subsidiaries are prepared in their respective currencies. Financial information is translated from the applicable functional currency to the U.S. dollar (the reporting currency) for inclusion in the Company&#8217;s consolidated financial statements. Income, expenses, and cash flows are translated at weighted-average exchange rates prevailing during the fiscal period, and assets and liabilities are translated at fiscal period-end exchange rates. Resulting translation adjustments are included as a component of accumulated other comprehensive loss in stockholders&#8217; equity. Foreign exchange transaction gains or losses are included in direct operating costs in the accompanying consolidated statements of operations and comprehensive loss.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;min-height:12.0pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Derivative Instruments&#160;- </b>The Company accounts for derivative transactions in accordance with the FASB&#8217;s Accounting Standards Codification (&#8220;ASC&#8221;) Topic 825, &#8220;Financial Instruments&#8221;. For derivative instruments that are designated and qualify as cash flow hedges, the entire change in fair value of the hedging instrument is recorded in Other comprehensive income (loss). When the amounts recorded in Other comprehensive income (loss) are reclassified to earnings, they are included as part of Direct operating costs. For derivative instruments that are not designated as hedges, any change in fair value is recorded directly in earnings as part of Direct operating costs. The total notional value of designated outstanding foreign currency forward contracts was $10.5 million and $14.2 million as of December 31, 2023 and 2022, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Cash Equivalents&#160;- </b>For financial statement purposes, the Company considers all highly liquid instruments purchased with an original maturity of three&#160;months or less to be cash equivalents.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Short term Investments-other&#160;- </b>For financial statement purposes, the Company considers investments made in time deposits and treasury bills having an original maturity of more than three months but less than one year from the balance sheet date under short term investments.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Concentration of Credit Risk&#160;-</b> The Company maintains its cash with highly rated financial institutions, located in the United States and in foreign locations where the Company has its operations. At December 31, 2023, the Company had cash and cash equivalents of $13.8 million, of which $6.5 million was held by its foreign subsidiaries and $7.3 million was held in the United States. To the extent that such cash exceeds the maximum insurance levels, the Company is uninsured. The Company has not experienced any losses in such accounts.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Accounts Receivable&#160;-</b> Accounts receivable is generally recorded at the invoiced amounts, net of an allowance for expected losses. The Company establishes credit terms for new customers based upon management&#8217;s review of their credit information and project terms, and performs ongoing credit evaluations of its customers, adjusting credit terms when management believes appropriate based upon payment history and an assessment of the customer&#8217;s current creditworthiness.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We record an allowance for credit losses for estimated losses resulting from the failure of our customers to make the required payments and provisions for billing adjustments relating to quality issues on delivered services. The allowance for credit losses is based on a review of specifically identified accounts and an overall aging analysis applied to accounts pooled based on similar risk characteristics. Judgments are made with respect to the collectability of accounts receivable within each pool based on historical experience, current payment practices, and current economic trends based on our expectations over the expected life of the receivables, generally ninety days or less. Actual credit losses could differ from those estimates.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Property and Equipment</b>&#160;<b style="font-weight:bold;">- </b>Property and equipment are stated at cost and are depreciated on the straight-line method over the estimated useful lives of the related assets, which is generally <span style="-sec-ix-hidden:Hidden_yGJN2FqFVEawQJWZoFoh0w;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">two</span></span> to <span style="-sec-ix-hidden:Hidden_qOPG7XoMf06lp7FpqgoXEQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">ten&#160;years</span></span>. Leasehold improvements are amortized on a straight-line basis over the shorter of their estimated useful lives or the terms of the leases. Certain assets under capital leases are amortized over the lives of the respective leases or the estimated useful lives of the assets, whichever is shorter.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Capitalized Developed Software - </b>The Company incurs development costs related to software it develops for its internal use. Qualifying costs incurred during the application development stage are capitalized. These costs primarily consist of internal labor and third-party development costs and are amortized using the straight-line method over the estimated useful life of the capitalized developed software, which generally ranges from <span style="-sec-ix-hidden:Hidden_JLLJiYyuKkqFRS0YKxa3_A;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">three</span></span> to ten years. All other research and maintenance costs are expensed as incurred. Capitalized developed software in progress as of December 31, 2023 and 2022 were $3.5 million and $2.8 million, respectively. The cumulative completed capitalized developed software as of December 31, 2023 and 2022 was $15.2 million and $11.8 million, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Long-lived Assets&#160;-</b> Management assesses the recoverability of its long-lived assets, whenever events or changes in circumstances indicate that the carrying value may not be recoverable. The following factors, if present, may trigger an impairment&#160;review: (i)&#160;significant&#160;underperformance relative to expected historical or projected future operating results; (ii)&#160;significant negative industry&#160;or&#160;economic&#160;trends; (iii)&#160;significant decline in the Company&#8217;s stock price&#160;for&#160;a&#160;sustained&#160;period;&#160;and&#160;(iv)&#160;a&#160;change&#160;in the Company&#8217;s market capitalization relative to net book value. If the recoverability of these assets is unlikely because&#160;of&#160;the&#160;existence&#160;of one or more of the above-mentioned factors, an&#160;impairment analysis is performed, using undiscounted cash flow&#160;projections. Management makes assumptions regarding estimated future cash flows and other factors to determine the fair value of these respective assets. An impairment loss will be recognized only if the carrying value of a long-lived asset is not recoverable and exceeds its fair value and is measured as the amount by which the carrying amount of a long-lived asset exceeds its fair value.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Goodwill and Other Intangible Assets</b>&#160;<b style="font-weight:bold;">- </b>The Company performs a valuation of assets acquired and liabilities assumed on each acquisition accounted for as a business combination and allocates the purchase price of each acquired business to its respective net tangible and intangible assets and liabilities. Acquired intangible assets principally consist of technology, customer relationships, backlog and trademarks, having useful lives which range from <span style="-sec-ix-hidden:Hidden_qjmnNajey0O1TLxVoiF3kA;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">ten</span></span> to twelve years. The Company determines the appropriate useful life by performing an analysis of expected cash flows based on projected financial information of the acquired businesses. Intangible assets are amortized over their estimated useful lives using the straight-line method, which approximates the pattern in which the majority of the economic benefits are expected to be consumed. Intangible assets are amortized into direct operating costs ratably over their expected related revenue streams over their useful lives.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Goodwill represents the excess of the cost of an acquired entity over the fair value of the acquired net assets. The Company does not amortize goodwill but evaluates it for impairment at the reporting unit level annually during the third quarter of each fiscal&#160;year (as of September&#160;30 of that year) or when an event occurs, or circumstances change, that indicates the carrying value may not be recoverable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company performed its annual goodwill assessment for the Agility segment as of September 30, 2023 for impairment. The impairment test involves estimating the fair value based on a combination of income (estimates of future discounted cash flows) and the market approach (market multiples for similar companies) using unobservable inputs (Level 3). The Company concluded that there is no impairment of goodwill for the Agility segment.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Income Taxes&#160;</b>- Estimated deferred taxes are determined based on the difference between the financial statement and tax basis of assets and liabilities, using enacted tax rates, as well as any net operating loss or tax credit carryforwards expected to reduce taxes payable in future&#160;years. A valuation allowance is provided when it is more likely than not that all or some portion of the estimated deferred tax assets will not be realized. While the Company considers future taxable income in assessing the need for the valuation allowance, in the event that the Company anticipates that it will be able to realize the estimated deferred tax assets in the future in excess of its net recorded amount, an adjustment to the provision for deferred tax assets would increase income in the period such determination was made. Similarly, in the event that the Company anticipates that it will not be able to realize the estimated deferred tax assets in the future considering future taxable income, an adjustment to the provision for deferred tax assets would decrease income in the period such determination was made. Changes in the valuation allowance from period to period are included in the Company&#8217;s tax provision in the period of change. The Company indefinitely reinvests the foreign earnings in its foreign subsidiaries. If such earnings are repatriated in the future, or are no longer deemed to be indefinitely reinvested, the Company would have to accrue as a liability the applicable amount of foreign jurisdiction withholding taxes associated with such remittances.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">In assessing the realization of deferred tax assets, management considered whether it is more likely than not that all or some portion of the U.S. and Canadian deferred tax assets will not be realizable. As the expectation of future taxable income resulting from the Synodex and Agility segments cannot be predicted with certainty, the Company maintains a valuation allowance against all the United States, Canadian and European (principally Germany and the United Kingdom) net deferred tax assets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The Company accounts for income taxes regarding uncertain tax positions, and recognizes interest and penalties related to uncertain tax positions in income tax expense in the consolidated statements of operations and comprehensive loss.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Accounting for Leases&#160;</b>-<b style="font-weight:bold;"> </b>Accounting Standards for Codifications (ASC 842 &#8220;Accounting for Leases&#8221;) requires lessees to recognize most leases on their balance sheets as liabilities, with corresponding &#8220;right-of-use&#8221; assets. The Company recognizes a right-of-use asset and corresponding lease liability for all its operating leases. See Note 9, Operating Leases.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The determination of whether an arrangement is, or contains, a lease is based on the substance of the arrangement at the inception date and requires an assessment of whether the fulfillment of the arrangement is dependent on the use of a specific asset or assets, or the arrangement conveys a right to use the asset. A reassessment is made after inception of the lease only if one of the following applies:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">a.</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">there is a change in contractual terms, other than a renewal or extension of the arrangement; </span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">b.</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">a renewal option is exercised, or extension granted, unless the term of the renewal or extension was initially included in the lease term; </span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">c.</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">there is a change in the determination of whether fulfillment is dependent on a specified asset; or </span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">d.</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">there is a substantial change to the asset. </span></td></tr></table><div style="margin-top:10pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Whenever a reassessment is made, lease accounting shall commence or cease from the date when the change in circumstances gave rise to the reassessment for scenarios (a), (c) or (d) and at the date of renewal or extension period for scenario (b).</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Leases where the lessor retains substantially all the risks and rewards of ownership are classified as operating leases. As of December 31, 2023, all of the Company&#8217;s leases are classified under operating leases. Operating lease payments are recognized as an operating expense on a straight-line basis over the lease term.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Accounting for Stock-Based Compensation&#160;-</b> The Company measures and recognizes stock-based compensation expense for all share-based payment awards made to employees and directors based on the estimated fair value at the grant date. The stock-based compensation expense is recognized over the requisite service period. The fair value of stock option grants is determined using the Black-Scholes option-pricing model and the fair value of restricted stock units is determined using the Binomial option pricing model. For restricted stock units which are time vested, the fair value is determined based on the grant date fair value.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The stock-based compensation expense related to the Company&#8217;s stock plans were allocated as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:50%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:53.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:53.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:42.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year&#160;Ended&#160;December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:53.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:53.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Direct operating costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 294</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 214</p></td></tr><tr><td style="vertical-align:bottom;width:53.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Selling and administrative expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,733</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,069</p></td></tr><tr><td style="vertical-align:bottom;width:53.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total stock-based compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,283</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Fair Value of Financial Instruments&#160;</b>- The carrying amounts of financial instruments approximated their fair value as of December 31, 2023 and 2022, because of the relatively short maturity of these instruments. See Note&#160;16, Derivatives.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Fair value measurements and disclosures define fair value as the price that would be received for an asset or paid to transfer a liability (an exit price) in the principal or most advantageous market for the asset or liability in an orderly transaction between market participants on the measurement date.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The accounting standard establishes a fair value hierarchy that prioritizes the inputs used to measure fair value into three levels. The three levels are defined as follows:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><i style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:italic;font-weight:normal;">Level 1</i><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">: Unadjusted quoted price in active market for identical assets and liabilities.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><i style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:italic;font-weight:normal;">Level 2:</i><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"> Inputs other than those included in Level 1 that are observable for the asset or liability, either directly or indirectly, such as quoted prices for similar assets or liabilities; quoted prices in markets that are not active; or other inputs that are observable or can be corroborated by observable market data for substantially the full term of the assets or liabilities.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><i style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:italic;font-weight:normal;">Level 3:</i><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"> Unobservable inputs reflecting management&#8217;s own assumptions about the inputs used in pricing the asset or liability.</span></td></tr></table><div style="margin-top:10pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company&#8217;s forward contracts are at level 2 in the fair value hierarchy.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Income (Loss) per Share&#160;</b>- Income (loss) per share is computed using the weighted-average number of common shares outstanding during the&#160;year. Diluted income (loss) per share is computed by considering the impact of the potential issuance of common shares, using the treasury stock method, on the weighted average number of shares outstanding. For those securities that are not convertible into a class of common stock, the &#8220;two class&#8221; method of computing income (loss) per share is used.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Pension&#160;- </b>The Company records annual pension costs based on calculations, which include various actuarial assumptions including discount rates, compensation increases and other assumptions involving demographic factors. The Company reviews its actuarial assumptions on an annual basis and makes modifications to the assumptions based on current rates and trends. The Company believes that the assumptions used in recording its pension obligations are reasonable based on its experience, market conditions and inputs from its actuaries.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Deferred Revenue&#160;</b>- Deferred revenue represents payments received from customers in advance of providing services and amounts deferred if conditions for revenue recognition have not been met. Included in Accrued expenses and other on the accompanying consolidated balance sheets is deferred revenue amounting to $3.5 million and $4.4 million as of December 31, 2023 and 2022, respectively. We expect to recognize substantially all of these performance obligations over the next 12 months.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The table below provides information about contract liabilities (deferred revenue) and the significant changes in the balance for the years ended December 31, 2023 and 2022, respectively (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:75.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:75.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:21.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:75.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;">    </b><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;">    </b><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:75.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance at January 1</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,366</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,509</p></td></tr><tr><td style="vertical-align:bottom;width:75.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net deferred revenue in the period</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 21,619</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 29,756</p></td></tr><tr><td style="vertical-align:bottom;width:75.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Revenue recognized</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (22,586)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (29,618)</p></td></tr><tr><td style="vertical-align:bottom;width:75.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Currency translations and other adjustments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 124</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (281)</p></td></tr><tr><td style="vertical-align:bottom;width:75.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance at December 31</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,523</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,366</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Recent Accounting Pronouncements&#160;- </b>On November 27, 2023, the FASB issued Accounting Standards Update (ASU) No. 2023-07, &#8220;Improvements to Reportable Segment Disclosures,&#8221;. The ASU&#8217;s effective date is for fiscal years beginning after December 15, 2023. The adoption of the ASU 2023-07 will enhance expense disclosures in segment reporting and other qualitative disclosures and allows for disclosing multiple measures of segment profit or loss. The Company does not expect any significant impact from the adoption of this standard.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">On December 14, 2023, the FASB issued ASU No. 2023-09, &#8220;Income Taxes (Topic 740): Improvements to Income Tax Disclosures&#8221;. The ASU&#8217;s effective date is for fiscal years beginning after December 15, 2024. The adoption of the ASU 2023-09 will enhance quantitative and qualitative disclosures related to rate reconciliation of significant components and income tax paid. The Company does not expect any significant impact from the adoption of this standard.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for the general note to the financial statements for the reporting entity which may include, descriptions of the basis of presentation, business description, significant accounting policies, consolidations, reclassifications, new pronouncements not yet adopted and changes in accounting principles.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 235<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//235/tableOfContent<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 275<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//275/tableOfContent<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 810<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//810/tableOfContent<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 250<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//250/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>22
<FILENAME>R8.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644467653920">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Short Term Investments - other<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermInvestmentsAbstract', window );"><strong>Short Term Investments - other</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_ShortTermInvestmentsOthersTextBlock', window );">Short Term Investments - other</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><b style="font-weight:bold;">2.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Short Term Investments - other</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Short-term investments include investments made by the Company in treasury bills and certificates of deposit which are considered as highly liquid investments having an original maturity period of more than three months but less than one year from the balance sheet date.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:50%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Treasury bills</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 494</p></td></tr><tr><td style="vertical-align:bottom;width:72.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Certificates of deposit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13</p></td></tr><tr><td style="vertical-align:bottom;width:72.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.38%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.38%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 507</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_ShortTermInvestmentsOthersTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure of the components other short-term investments. Short-term investments may include current marketable securities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_ShortTermInvestmentsOthersTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShortTermInvestmentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShortTermInvestmentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>23
<FILENAME>R9.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644559762544">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Accounts Receivable<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ReceivablesAbstract', window );"><strong>Accounts Receivable</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsAndNontradeReceivableTextBlock', window );">Accounts Receivable</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><b style="font-weight:bold;">3.</b> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<b style="font-weight:bold;">Accounts Receivable</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-indent:36pt;margin:0pt;">Accounts receivable consists of the following:</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:75.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:75.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:21.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:75.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;">     </b><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:75.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Gross Accounts receivable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,505</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,741</p></td></tr><tr><td style="vertical-align:bottom;width:75.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Allowance for doubtful accounts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,217)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,213)</p></td></tr><tr><td style="vertical-align:bottom;width:75.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accounts receivable, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,288</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,528</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">As of January 1, 2023 the Company has adopted ASU 2019-04, &#8220;Codification Improvements to Topic 326, Financial Instruments - Credit Losses&#8221;, and based on the Company&#8217;s assessment there was no impact on the financial statements or other related disclosures. The basis of allowance for doubtful accounts is further elaborated in Note 1, &#8220;Critical Accounting Policies and Estimates&#8221; to the consolidated financial statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Activity in the allowance for the credit losses for the year ended December 31, 2023 was as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:77.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:77.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For&#160;the&#160;Year&#160;Ended</b></p></td></tr><tr><td style="vertical-align:bottom;width:77.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;December&#160;31,&#160;2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:77.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance at January 1, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,213</p></td></tr><tr><td style="vertical-align:bottom;width:77.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Additions charged to expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 426</p></td></tr><tr><td style="vertical-align:bottom;width:77.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Write-offs against allowance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (426)</p></td></tr><tr><td style="vertical-align:bottom;width:77.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Foreign currency translation adjustment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4</p></td></tr><tr><td style="vertical-align:bottom;width:77.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance at December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,217</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsAndNontradeReceivableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for accounts receivable, contract receivable, receivable held-for-sale, and nontrade receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//310/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//326/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsAndNontradeReceivableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ReceivablesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ReceivablesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>24
<FILENAME>R10.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644466270640">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Property and equipment<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAbstract', window );"><strong>Property and equipment</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock', window );">Property and equipment</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">4.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Property and equipment</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Property and equipment, which include amounts recorded under capital leases, are stated at cost less accumulated depreciation and amortization (in thousands), and consist of the following:</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:28.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,315</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,391</p></td></tr><tr><td style="vertical-align:bottom;width:68.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Computer software</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,465</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,447</p></td></tr><tr><td style="vertical-align:bottom;width:68.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Furniture and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,128</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,163</p></td></tr><tr><td style="vertical-align:bottom;width:68.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Leasehold improvements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,547</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,554</p></td></tr><tr><td style="vertical-align:bottom;width:68.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Capital work-in-progress</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 434</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td></tr><tr><td style="vertical-align:bottom;width:68.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 19,889</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20,555</p></td></tr><tr><td style="vertical-align:bottom;width:68.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Less: accumulated depreciation and amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (17,608)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (18,044)</p></td></tr><tr><td style="vertical-align:bottom;width:68.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,281</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,511</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The estimated useful lives of the property and equipment range between two years and ten years. Depreciation and amortization expense of property and equipment were approximately $1.2 million for each of the years ended December 31, 2023 and 2022, respectively.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 360<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//360/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480321/958-360-50-6<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480321/958-360-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480321/958-360-50-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>25
<FILENAME>R11.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644466155456">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Goodwill and Intangible Assets<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock', window );">Goodwill and Intangible Assets</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">5.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Goodwill and Intangible Assets</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The changes in the carrying amount of goodwill for the year ended December 31, 2023 were as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:40%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:80.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:80.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance - January 1, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,038</p></td></tr><tr><td style="vertical-align:bottom;width:80.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Foreign currency translation adjustment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 37</p></td></tr><tr><td style="vertical-align:bottom;width:80.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance - December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.96%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,075</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">As of September 30, 2023 the Company performed its annual goodwill impairment analysis on the Agility segment. It involved a quantitative goodwill impairment test and estimated the fair value based on a combination of the income approach (estimates of future discounted cash flows) and the market approach (market multiples for similar companies) using unobservable inputs (Level 3). The income approach uses a discounted cash flow (&#8220;DCF&#8221;) method that utilizes the present value of cash flows to estimate the segment&#8217;s fair value. The future cash flows of the segment were projected based on the Company&#8217;s estimates of future revenues, operating income, and other factors such as working capital and capital expenditures. As part of the DCF analysis, the Company projected revenue and operating profit and assumed long-term revenue growth rates in the terminal year. The market approach utilizes multiples of revenues and earnings before interest expense, taxes, depreciation, and amortization (&#8220;EBITDA&#8221;) to estimate the segment&#8217;s fair value. The market multiples used for the segment were based on a group of comparable companies&#8217; market multiples applied to the Company&#8217;s revenue. The Company concluded that there is no impairment of goodwill.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The fair value measurement of goodwill for the Agility segment was classified within Level 3 of the fair value hierarchy because the Company used the income approach, which utilizes significant inputs that are unobservable in the market and the market multiple approaches using comparable entities to further validate the carrying values. The Company believes it made reasonable estimates and assumptions to calculate the fair value of the reporting unit as of the impairment test measurement date. The carrying value of Goodwill was $2.1 million and $2.0 million as of December 31, 2023, and 2022, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Information regarding the Company acquired intangible assets and capitalized developed software was as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;background:#ffff00;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:55.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,&#160;2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Foreign&#160;Currency</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Gross&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Accumulated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;Translation</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Net</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;">     </b><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Carrying&#160;Value</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">     <span style="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">     <span style="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;Adjustment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">     <span style="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Carrying&#160;Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Acquired Intangible Assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Developed technology</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,999</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (2,640)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 366</p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Customer relationships</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,096</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,645)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 461</p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Trademarks and tradenames</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 852</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (774)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 80</p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Patents</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 43</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (40)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3</p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Media Contact Database</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,492</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (2,621)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 16</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 887</p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total Acquired Intangible Assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 9,482</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (7,720)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 35</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 1,797</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Capitalized Developed Software</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Capitalized Developed Software</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 15,216</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (6,862)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 138</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,492</p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="white-space:pre-wrap;">Capitalized  Developed Software - in Progress</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,480</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (11)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,469</p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total Capitalized Developed Software</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 18,696</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (6,862)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 127</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 11,961</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 28,178</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (14,582)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 162</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 13,758</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;background:#ffff00;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;">     </b><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:55.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,&#160;2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Foreign&#160;Currency</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Gross&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Accumulated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;Translation</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Net</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Carrying&#160;Value</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;Adjustment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Carrying&#160;Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Acquired Intangible Assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Developed technology</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,169</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (2,468)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (43)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 658</p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Customer relationships</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,228</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,560)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (42)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 626</p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Trademarks and tradenames</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 880</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (740)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (8)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 132</p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Patents</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 45</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (38)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8</p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Media Contact Database</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,648</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (2,358)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (68)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,222</p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total Acquired Intangible Assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 9,970</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (7,164)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (160)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 2,646</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Capitalized Developed Software</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Capitalized Developed Software</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 11,845</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (4,398)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (348)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,099</p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="white-space:pre-wrap;">Capitalized  Developed Software - in Progress</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,787</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (6)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,781</p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total Capitalized Developed Software</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 14,632</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (4,398)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (354)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 9,880</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 24,602</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (11,562)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (514)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 12,526</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Amortization expense relating to acquired intangible assets was approximately $0.9 million for each of the years ended December 31, 2023 and 2022, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;min-height:12.0pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Amortization expense relating to capitalized developed software was approximately $2.7 million and $1.8 million for the years ended December 31, 2023 and 2022, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Estimated annual amortization expense for intangible assets subsequent to December 31, 2023 is as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:40%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:22.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Year</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:26.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amortization</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:22.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,929</p></td></tr><tr><td style="vertical-align:bottom;width:68.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:22.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,976</p></td></tr><tr><td style="vertical-align:bottom;width:68.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:22.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,704</p></td></tr><tr><td style="vertical-align:bottom;width:68.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:22.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 739</p></td></tr><tr><td style="vertical-align:bottom;width:68.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2028</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:22.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 597</p></td></tr><tr><td style="vertical-align:bottom;width:68.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:22.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 813</p></td></tr><tr><td style="vertical-align:bottom;width:68.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:22.82%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 13,758</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:1pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for goodwill and intangible assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//350/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>26
<FILENAME>R12.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644466235360">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Taxes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureTextBlock', window );">Income Taxes</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">6.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Income Taxes</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The significant components of the provision for income taxes for the&#160;years ended December 31, 2023 and 2022 were as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Current income tax expense (benefit):</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Foreign</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,181</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,131</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Federal</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 120</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 144</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">State and local</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 30</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,304</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,305</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Deferred income tax expense (benefit):</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Foreign</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (286)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 207</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Federal</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">State and local</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (276)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 217</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Provision for income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,028</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,522</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The reconciliation of the U.S. statutory rate with the Company&#8217;s effective tax rate for the&#160;years ended December 31, 2023 and 2022 is summarized as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.61%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Federal income tax expense (benefit) at statutory rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 21.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (21.0)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:68.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Effect of:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Change in valuation allowance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 578.6</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 36.9</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Tax effects of foreign operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 562.6</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2.5</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Section 162 (m)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 452.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Return to provision true up</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 264.4</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.3</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Increase in unrecognized tax benefits (ASC 740)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 199.6</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.7</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Withholding tax</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 106.6</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Foreign operations permanent differences - foreign exchange gains and losses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 76.9</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1.1</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">State income tax net of federal benefit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.1</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.2</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Research and development credit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (67.3)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Foreign rate differential</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (102.5)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (4.7)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Deemed interest</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (149.2)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1.9)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Tax effect of intercompany settlement</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (234.0)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Effect of stock-based compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (961.6)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (0.3)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (7.6)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.7</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Effective tax rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.61%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 739.6</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 14.5</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Deferred tax assets and liabilities are classified as non-current. Significant components of the Company&#8217;s deferred tax assets and liabilities as of December 31, 2023 and 2022 were as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Deferred income tax assets:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Allowances not currently deductible</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 283</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 301</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Depreciation and amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 58</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 9</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Equity compensation not currently deductible</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,098</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,579</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Net operating loss carryforwards</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10,514</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10,758</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Research and development credits</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 452</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 362</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Expenses not deductible until paid</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,972</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,694</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 133</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (220)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 12pt;">Total gross deferred income tax assets before valuation allowance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 15,510</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 14,483</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Valuation allowance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (13,769)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (13,008)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 12pt;">Deferred income tax assets, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,741</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,475</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 18pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Deferred income tax liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (22)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (65)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 12pt;">Total deferred income tax liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (22)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (65)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 18pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Net deferred income tax assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,719</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,410</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Net deferred income tax assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,741</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,475</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Net deferred income tax liability</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (22)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (65)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Net deferred income tax assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,719</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,410</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">In assessing the realization of deferred tax assets, management considers whether it is more likely than not that all or some portion of the deferred tax assets will not be realizable. The ultimate realization of the deferred tax assets is dependent upon the generation of future taxable income during the periods in which temporary differences are deductible and net operating losses are available. As of December 31, 2023, the Company continues to maintain a valuation allowance on all of the Company&#8217;s United States, Canadian, German and United Kingdom subsidiaries&#8217; deferred tax assets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company maintained a valuation allowance of approximately $13.8 million and $13.0 million as of December 31, 2023 and 2022, respectively. The valuation allowance relates to the United States, and the Company&#8217;s Canadian, German and the United Kingdom subsidiaries&#8217; deferred tax assets. The net change in the total valuation allowance was an increase of $0.8 million and $3.9 million for the&#160;years ended December 31, 2023 and December 31, 2022, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Despite the access to the overseas earnings and the resulting toll charge, the Company intends to indefinitely reinvest the foreign earnings in our foreign subsidiaries on account of the foreign jurisdiction withholding tax that the Company has to incur on the actual remittances. Unremitted earnings of foreign subsidiaries amounted to approximately $50.4 million at December 31, 2023. If such earnings are repatriated in the future, or are no longer deemed to be indefinitely reinvested, the Company would have to accrue the applicable amount of foreign jurisdiction withholding taxes associated with such remittances.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">United States and foreign components of loss before provision for income taxes for each of the years ended December&#160;31, were as follows&#160;(in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:40%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:58.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:58.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;">    </b><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;">    </b><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:58.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (4,023)</p></td></tr><tr><td style="vertical-align:bottom;width:58.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Foreign</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,886)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (6,460)</p></td></tr><tr><td style="vertical-align:bottom;width:58.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Totals</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.67%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 139</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.99%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (10,483)</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">At December 31, 2023, the Company had available U.S. federal net operating loss (NOL) carryforwards of approximately $21.2 million and recognized research and development credits of approximately $0.1 million. These NOL carryforwards expire at various times from the year 2032 through the&#160;year 2035 and the research and development credit expires in 2043. The potential benefits from these balances have not been recognized for financial statement purposes.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Under the CARES Act, the Internal Revenue Code was amended to allow for federal NOL carrybacks for five years to offset previous years&#8217; taxable income or for the NOL to be carried forward indefinitely to offset 80% of taxable income for tax years 2021 and thereafter. As of the date the financial statements were issued, the state NOL carryforwards, if not utilized, will expire beginning in 2032.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">On December 31, 2023, the Company&#8217;s Canadian subsidiaries had available Canadian NOL carryforwards of approximately $27.0 million that will begin to expire in 2036 and research and development credits of approximately $1.4 million that have no expiry. The potential benefits from these balances have not been recognized for financial statement purposes.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">On December 31, 2023, the Company&#8217;s German and the United Kingdom subsidiaries had available NOL carryforwards of approximately $1.7 million. The potential benefits from these balances have not been recognized for financial statement purposes.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company had reserves for uncertain tax positions of $1.9 million and $1.7 million as of December 31, 2023, and 2022, respectively, where the ultimate tax determination is uncertain due to complexities of tax laws. The increase in unrecognized tax benefits resulted from additional accruals for the current tax year. The Company expects that unrecognized tax benefits as of December 31, 2023 and December 31, 2022, if recognized, would have a material impact on the Company&#8217;s effective tax rate.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company is subject to Federal income tax, as well as income tax in various states and foreign jurisdictions. The Company has open tax years for U.S. Federal and state taxes from 2019 through 2023. Various foreign subsidiaries have open tax years from 2005 through 2022, some of which are under audit by local tax authorities. The Company believes that its accruals for uncertain tax positions as of December 31, 2023 under ASC 740, Income Taxes are adequate to cover the Company&#8217;s income tax exposures.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The following table represents a roll forward of the Company&#8217;s unrecognized tax benefits and associated interest for the&#160;years ended (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:50%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Unrecognized Tax </b></p></td></tr><tr><td style="vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Benefits</b></p></td></tr><tr><td style="vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:66.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance at January 1</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,680</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,753</p></td></tr><tr><td style="vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Decrease for prior year tax positions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (68)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (290)</p></td></tr><tr><td style="vertical-align:bottom;width:66.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Increase for current year tax positions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 247</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 311</p></td></tr><tr><td style="vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Interest accrual</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 97</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 67</p></td></tr><tr><td style="vertical-align:bottom;width:66.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Foreign currency remeasurement</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (14)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (161)</p></td></tr><tr><td style="vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance at December 31</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,942</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,680</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:italic;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Tax Assessments</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">In September&#160;2015, the Company&#8217;s Indian subsidiary was subject to an inquiry by the Service Tax Department in India regarding the classification of services provided by this subsidiary, asserting that the services provided by this subsidiary fall under the category of online information and database access or retrieval services (OID Services), and not under the category of business support services (BS Services) that are exempt from service tax as historically indicated in the subsidiary&#8217;s service tax filings. The Company disagrees with the Service Tax Department&#8217;s position. In November 2019, the Commissioner of Central Tax, GST &amp; Central Excise issued an order confirming the Service Tax Department&#8217;s position. The Company contested this order in an appeal to the Customs, Excise and Service Tax Appellate Tribunal and in January 2024 the Customs, Excise and Service Tax Appellate Tribunal ruled in the Company&#8217;s favor. In the event the Service Tax Department appeals this ruling and is ultimately successful in proving that the services fall under the category of OID Services, the revenues earned by the Company&#8217;s Indian subsidiary for the period July&#160;2012 through November&#160;2016 would be subject to a service tax of between 12.36% and 15%, and this subsidiary may also be liable for interest and penalties. The revenues of the Company&#8217;s Indian subsidiary during this period was approximately $56.0 million. In accordance with new rules&#160;promulgated by the Service Tax Department, as of December&#160;1, 2016 service tax is no longer applicable to OID or BS Services. Based on the Company&#8217;s assessment in consultation with the Company&#8217;s tax counsel, the Company has not recorded any tax liability for this case.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">In a separate action relating to service tax refunds, in October 2016, the Company&#8217;s Indian subsidiary received notices from the Indian Service Tax Department in India seeking to reverse service tax refunds of approximately $121,000 previously granted to the Company&#8217;s Indian subsidiary for three quarters in 2014, asserting that the services provided by this subsidiary fall under the category of OID Services and not BS Services. The appeal was determined in favor of the Service Tax Department. The Company disagrees with the basis of this decision and is contesting it. The Company expects delays in its Indian subsidiary receiving further service tax refunds until this matter is adjudicated with finality, and currently has service tax credits of approximately $0.8 million recorded as a receivable. Based on the Company&#8217;s assessment in consultation with the Company&#8217;s tax counsel, the Company has not recorded any tax liability for this case.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Substantial recovery against the Company in the above referenced 2015 Service Tax Department case could have a material adverse impact on the Company, and unfavorable rulings or recoveries in other tax proceedings could have a material adverse impact on the consolidated operating results of the period (and subsequent periods) in which the rulings or recovery occurs.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480990/946-20-50-13<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//740/tableOfContent<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-14<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-21<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 270<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482526/740-270-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-17<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.5.Q1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 11.C)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482603/740-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>27
<FILENAME>R13.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644466230640">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Long-term obligations<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_LongTermObligationsAbstract', window );"><strong>Long-term obligations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_LongTermObligationsDisclosureTextBlock', window );">Long-term obligations</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">7.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Long-term obligations</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Total long-term obligations as of December 31, 2023 and 2022 consisted of the following (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Pension obligations - accrued pension liability</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,128</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,906</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Settlement agreement </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 50</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Microsoft licenses <sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 911</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,039</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,956</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Less: Current portion of long-term obligations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,261</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 877</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Totals</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,778</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,079</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0pt 115.2pt;"><span style="font-size:8pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 12pt 0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup> In March 2023, the Company renewed a vendor agreement to acquire certain additional software licenses, receive technical support and future software upgrades on software licenses through February 2026. Pursuant to this agreement, the Company is contractually liable to pay approximately $0.4 million annually over the term of the agreement.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_LongTermObligationsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_LongTermObligationsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_LongTermObligationsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for long-term obligations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_LongTermObligationsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>28
<FILENAME>R14.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644466150640">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Commitments and contingencies<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract', window );"><strong>Commitments and contingencies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock', window );">Commitments and Contingencies</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">8.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Commitments and contingencies </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Litigation&#160;- </b>In 2008, a judgment was rendered in the Philippines against a Philippine subsidiary of the Company that is no longer active and purportedly also against Innodata&#160;Inc., in favor of certain former employees of the Philippine subsidiary. The potential payment amount aggregates to approximately $5.9 million, plus legal interest that accrued at 12% per annum from August 13, 2008 to June 30, 2013, and thereafter accrued and continues to accrue at 6% per annum. The potential payment amount as expressed in U.S. dollars varies with the Philippine peso to U.S. dollar exchange rate. In December&#160;2017, a group of 97 of the former employees of the Philippine subsidiary indicated that they proposed to record the judgment as to themselves in New Jersey. In January&#160;2018, in response to an action initiated by Innodata&#160;Inc., the United States District Court for the District of New Jersey (&#8220;USDC&#8221;) entered a preliminary injunction that enjoins these former employees from pursuing or seeking recognition or enforcement of the judgment against Innodata&#160;Inc. in the U.S. during the pendency of the action and until further order of the USDC. In June&#160;2018, the USDC entered a consent order administratively closing the action subject to return of the action to the active docket upon the written request of Innodata&#160;Inc. or the former employees, with the USDC retaining jurisdiction over the matter and the preliminary injunction remaining in full force and effect.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company is also subject to various other legal proceedings and claims that have arisen in the ordinary course of business.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">While management currently believes that the ultimate outcome of these proceedings will not have a material adverse effect on the Company&#8217;s consolidated financial position or overall trends in consolidated results of operations, litigation is subject to inherent uncertainties. Substantial recovery against the Company in the above-referenced Philippine action could have a material adverse impact on the Company, and unfavorable rulings or recoveries in the other proceedings could have a material adverse impact on the consolidated operating results in the period in which the ruling or recovery occurs. In addition, the Company&#8217;s estimate of the potential impact on the Company&#8217;s consolidated financial position or overall consolidated results of operations for the above referenced legal proceedings could change in the future.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company&#8217;s legal accruals related to legal proceedings and claims are based on the Company&#8217;s determination of whether or not a loss is probable. The Company reviews outstanding proceedings and claims with external counsel to assess probability and estimates of loss. The accruals are adjusted if necessary. While the Company intends to defend these matters vigorously, adverse outcomes that it estimates could reach approximately $450,000 in the aggregate beyond recorded amounts are reasonably possible. If circumstances change, the Company may be required to record adjustments that could be material to its reported consolidated financial condition and results of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Foreign Currency&#160;</b>- To the extent that the currencies of the Company&#8217;s production facilities located in the Philippines, India, Sri Lanka and Israel fluctuate, the Company is subject to risks of changing costs of production after pricing is established for certain customer projects. In addition, the Company is exposed to the risk of foreign currency fluctuation on the non-U.S. dollar denominated revenues, and on the monetary assets and liabilities held by its foreign subsidiaries that are denominated in local currency.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><b style="font-weight:bold;">Indemnifications&#160;</b>- The Company is obligated under certain circumstances to indemnify directors, officers and certain employees against costs and liabilities incurred in actions or threatened actions brought against such individuals because such individuals acted in the capacity of director, officer or fiduciary of the Company. In addition, the Company has contracts with certain customers pursuant to which the Company has agreed to indemnify the customer for certain specified and limited claims under such contract. These indemnification obligations occur in the ordinary course of business and, in many cases, do not include a limit on potential maximum future payments. As of December 31, 2023, the Company has not recorded a liability for any obligations arising as a result of these indemnification obligations.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for commitments and contingencies.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 440<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482648/440-10-50-4<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 450<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//450/tableOfContent<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 954<br> -SubTopic 440<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480327/954-440-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 440<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482648/440-10-50-4<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 440<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//440/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>29
<FILENAME>R15.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644466223440">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Operating Leases<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeDisclosureAbstract', window );"><strong>Operating Leases</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeasesTextBlock', window );">Operating Leases</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">9.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Operating Leases</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company has various lease agreements for its offices and service delivery centers. The Company has determined that the risks and benefits related to the leased properties are retained by the lessors. Accordingly, these are accounted for as operating leases.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">These lease agreements are for terms ranging from <span style="-sec-ix-hidden:Hidden_e1fpDG-ap0y2l40728ofbQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">three</span></span> to eleven years and, in most cases, provide for rental escalations ranging from 1.75% to 15%. Most of these agreements are renewable at the mutual consent of the parties to the contract.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company recognizes an operating lease liability and right-of-use asset in compliance with current lease accounting standard ASC 842. The amount of right-of use asset is equal to the present value of the remaining lease payments discounted using the incremental borrowing rate of each respective country. Modifications, if any are recalculated and corresponding adjustments are made to the carrying values of both the lease liability and right-of-use assets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">A right-of-use asset is measured as the amount of the lease liability adjusted for the amount of deferred straight-line rent, prepaid rent and lease incentive allowances previously recognized.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The table below summarizes the amounts recognized in the financial statements related to operating leases for the years presented (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:70%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:51.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:19.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:51.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:45.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year&#160;Ended</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:21.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:21.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Rent expense for long-term operating leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,252</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,336</p></td></tr><tr><td style="vertical-align:bottom;width:51.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Rent expense for short-term leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 305</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 502</p></td></tr><tr><td style="vertical-align:bottom;width:51.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Total rent expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,557</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.02%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,838</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The following table presents the maturity profile of the Company&#8217;s operating lease liabilities based on the contractual undiscounted payments with a reconciliation of these amounts to the remaining net present value of the operating lease liability reported in the consolidated balance sheet as of December 31, 2023 (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:40%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:74.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:top;width:74.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Year</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:20.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</b></p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,292</p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,316</p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,348</p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,344</p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2028</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 965</p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2029 and thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 869</p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total lease payments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,134</p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Less: Interest</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,651)</p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net present value of lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,483</p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Current portion</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 782</p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Long-term portion</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,701</p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,483</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The weighted average remaining lease terms and discount rates for all of our operating leases as of December 31, 2023 were as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:40%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:20.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Weighted-average lease term remaining</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="font-size:10pt;">63 months</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Weighted-average discount rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">9.45%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:1pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeasesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for operating leases of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of operating lease liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//842-20/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeasesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>30
<FILENAME>R16.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644466235360">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Pension Benefits<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CompensationAndRetirementDisclosureAbstract', window );"><strong>Pension Benefits</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock', window );">Pension Benefits</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">10.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Pension Benefits</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">U.S. Defined Contribution Pension Plan&#160;- </b>The Company has a defined contribution plan qualified under Section&#160;401(k)&#160;of the&#160;Internal&#160;Revenue&#160;Code, pursuant to which substantially all of its U.S. employees are eligible to participate after completing six&#160;months of service. Participants may elect to contribute a portion of their compensation to the plan. Under the plan, the Company has the discretion to match a portion of participants&#8217; contributions. For the&#160;years ended December 31, 2023 and 2022, the Company did not make any matching contributions.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Most of the non-U.S. subsidiaries provide for government-mandated defined pension benefits. For certain of these subsidiaries, vested eligible employees are provided a lump sum payment upon retiring from the Company at a defined age. The lump sum amount is based on the salary and tenure as of retirement date. Other non-U.S. subsidiaries provide for a lump sum payment to vested employees on retirement, death, incapacitation or termination of employment, based upon the salary and tenure as of the date employment ceases. The liability for such defined benefit obligations is determined and provided on the basis of actuarial valuations. As of December 31, 2023, these plans were unfunded. Pension expense for our foreign subsidiaries totaled approximately $1.2 million and $1.1 million for the&#160;years ended December 31, 2023 and 2022, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The following tables set out the status of the non-U.S. pension benefits and the amounts recognized in the Company&#8217;s consolidated financial statements and the components of pension costs for the years ended December 31, 2023 and 2022 were as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt;">Benefit Obligations:</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Projected benefit obligation at beginning of the year</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,906</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,839</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Service cost</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 568</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 592</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="-sec-ix-hidden:Hidden_aQtP6P0A1kWD3BSZJhu5aw;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Interest cost</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 478</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 352</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Actuarial loss (gain)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 324</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (713)</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Foreign currency exchange rates changes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 54</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (862)</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Curtailment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (48)</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Benefits paid</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (202)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (254)</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Projected benefit obligation at end of the year</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,128</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,906</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The Company incurred an actuarial loss of $0.3 million for the year ended December 31, 2023, and an actuarial gain of $0.7 million for the year ended December 31, 2022. This was mainly due to changes in the discount rates used. Actuarial (gains) losses are recorded as part of other comprehensive income and are not reflected as part of net periodic pension cost.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt;">Components of Net Periodic Pension Cost:</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:40%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:60.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:60.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:60.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:60.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Service cost </p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 568</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 592</p></td></tr><tr><td style="vertical-align:bottom;width:60.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Interest cost </p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 478</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 352</p></td></tr><tr><td style="vertical-align:bottom;width:60.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Curtailment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (16)</p></td></tr><tr><td style="vertical-align:bottom;width:60.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="-sec-ix-hidden:Hidden_de-PhSVLS0-kn7qLcGpriA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Actuarial loss recognized</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 147</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 210</p></td></tr><tr><td style="vertical-align:bottom;width:60.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net periodic pension cost </p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.96%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,193</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.96%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,138</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The accumulated benefit obligation, which represents benefits earned to date, was approximately $3.9 million and $3.2&#160;million for each of the years ended December 31, 2023 and 2022.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Amounts recognized in the consolidated balance sheets for the&#160;years ended December 31, 2023 and 2022 consisted of the following (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:45%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:64.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:64.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:64.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:64.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Current accrued benefit cost</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 880</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 828</p></td></tr><tr><td style="vertical-align:bottom;width:64.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Non-current accrued benefit cost</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,248</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,078</p></td></tr><tr><td style="vertical-align:bottom;width:64.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total amount recognized</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.52%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,128</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.52%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,906</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Current accrued benefit cost for pension benefits was included in the current portion of long-term obligations in the consolidated balance sheets. Non-current accrued benefit cost for pension benefits was included in long-term obligations, net of current portion, in the consolidated balance sheets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Actuarial assumptions for all non-U.S. plans are described below. The discount rates are used to measure the&#160;year-end benefit obligations and the earnings effects for the subsequent&#160;year. The assumptions for the&#160;years ended December 31, 2023 and 2022 were as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:55%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:58.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:18.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:58.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:58.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Discount rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">6.73%-12.8%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">5.13%-20%</p></td></tr><tr><td style="vertical-align:bottom;width:58.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Rate of increase in compensation level</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">7.5%-14.5%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">7.5%-20%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">Estimated Future Benefit Payments:</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">As of December 31, 2023, the following benefit payments, which reflect expected future service, as appropriate, were expected to be paid (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:40%;"><tr style="height:1pt;"><td style="vertical-align:top;width:75.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:top;white-space:nowrap;width:17.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:top;width:75.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Year</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:17.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amount</b></p></td></tr><tr><td style="vertical-align:bottom;width:75.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:75.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 889</p></td></tr><tr><td style="vertical-align:bottom;width:75.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 431</p></td></tr><tr><td style="vertical-align:bottom;width:75.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 267</p></td></tr><tr><td style="vertical-align:bottom;width:75.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 749</p></td></tr><tr><td style="vertical-align:bottom;width:75.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2028</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 175</p></td></tr><tr><td style="vertical-align:bottom;width:75.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2029 to 2032</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,108</p></td></tr><tr><td style="vertical-align:bottom;width:75.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,619</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:1pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CompensationAndRetirementDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CompensationAndRetirementDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for retirement benefits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 70<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480794/715-70-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480482/715-20-55-17<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (q)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (l)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//715/tableOfContent<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (o)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (p)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (r)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (r)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480126/715-20-S99-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480266/715-60-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>31
<FILENAME>R17.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644466095472">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Capital Stock<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityNoteAbstract', window );"><strong>Capital Stock</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityNoteDisclosureTextBlock', window );">Capital Stock</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">11.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Capital Stock</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Common Stock&#160;- </b>The Company is authorized to issue 75,000,000 shares of common stock. Each share of common stock has one vote. Subject to preferences that may be applicable to any outstanding shares of preferred stock, the holders of common stock are entitled to receive ratably such dividends, if any, as may be declared by the Board of Directors. No common stock dividends have been declared to date.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Preferred Stock&#160;- </b>The Company is authorized to issue 4,998,000 shares of preferred stock. The Board of Directors is authorized to fix the terms, rights, preferences and limitations of the preferred stock and to issue the preferred stock in series that differ as to their relative terms, rights, preferences and limitations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Common Stock Reserved&#160;- </b>As of December 31, 2023, the Company had available for future issuance 1,981,406 shares of common stock pursuant to the Company&#8217;s stock option plans.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><b style="font-weight:bold;">Treasury Stock&#160;-</b> In July 2019, the Company&#8217;s Board of Directors authorized the repurchase of up to $2.0 million of its common stock in open market or private transactions. There is no expiration date associated with the program. There were no share repurchases in the years ended December 31, 2023 and 2022. As of December 31, 2023, the Company repurchased 1.5 million shares of its common stock under the July 2019 authorization with a value of $1.8 million.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityNoteAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityNoteAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityNoteDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-14<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481062/946-235-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481062/946-235-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 505<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481004/946-505-50-6<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480237/815-40-50-6<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(e)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//505/tableOfContent<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-14<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-14<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 16<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-16<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-18<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-18<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-18<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityNoteDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>32
<FILENAME>R18.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644466045296">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock Options<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract', window );"><strong>Stock Options</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock', window );">Stock Options</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">12.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Stock Options</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Innodata Inc. 2013 Stock Plan (as amended, the &#8220;2013 Plan&#8221;) expired in accordance with its terms on June 3, 2023. Pursuant to the terms of the 2013 Plan, no further awards may be granted under the 2013 Plan following its expiration. As of December 31, 2023, there were 5,567,966 shares of our common stock underlying outstanding options or rights under the 2013 Plan. Outstanding awards made under the 2013 Plan prior to the 2013 Plan&#8217;s expiration will remain in effect until such awards have been satisfied or terminated in accordance with the terms of the 2013 Plan and such awards.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">On June 9, 2022, stockholders of the Company approved amendments to the Innodata Inc. 2021 Equity Compensation Plan (as amended, the &#8220;2021 Plan&#8221;). The number of shares of common stock of Innodata Inc. that may be delivered, purchased or used for reference purposes (with respect to stock appreciation rights or stock units) for awards granted under the 2021 Plan is 4,000,000 (the &#8220;Share Reserve&#8221;). Shares subject to an option or stock appreciation right granted under the 2021 Plan count against the Share Reserve as one share for every share granted, and shares subject to any other type of award granted under the <span style="-sec-ix-hidden:Hidden__ctoI4xhnE-wozOg_pPFdA;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">2021</span></span> Plan count against the Share Reserve as two shares for every share granted for awards granted prior to April 11, 2022, and <span style="-sec-ix-hidden:Hidden_HRVvmxM3skOkjfdZH6FqLA;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">one</span></span> and a half shares for every share granted for awards granted on or after April 11, 2022. Any shares withheld, tendered or exchanged by a participant in the 2021 Plan as full or partial payment to Innodata of the exercise price under an option under the 2021 Plan or in satisfaction of a participant&#8217;s tax withholding obligations with respect to any award under the 2021 Plan, will not be added back to the Share Reserve.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The fair value of stock options is estimated on the date of grant using the Black-Scholes option pricing model. The weighted-average fair value of the options granted, and weighted-average assumptions were as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:70%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:54.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:54.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:40.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">For&#160;the&#160;Years&#160;Ended&#160;December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:54.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:54.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:54.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Weighted average fair value of options granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2.56</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2.67</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:54.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Risk-free interest rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4.34</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">1.94% - 4.09</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:54.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Expected term (years)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="font-size:10pt;"> 6.0</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="font-size:10pt;">3</span><span style="font-size:10pt;">-</span><span style="font-size:10pt;">6.42</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:54.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Expected volatility factor</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 75.35</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">62%-79</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:54.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Expected dividends</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> None </p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> None </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company estimates the risk-free interest rate using the U.S. Treasury yield curve for periods equal to the expected term of the options in effect at the time of grant. The expected term of options granted is based on a combination of vesting schedules, term of the options and historical experience. Expected volatility is based on the historical volatility of the Company&#8217;s common stock. The Company uses an expected dividend yield of zero since it has never declared or paid any dividends on its capital stock.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">Stock Options</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><i style="font-style:italic;">2013 Plan</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">A summary of stock option activity under the Innodata Inc. 2013 Stock Plan, as amended and restated effective June 7, 2016 (the &#8220;2013 Plan&#8221;) and changes during each of the years ended December 31, 2023 and 2022 are presented below. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:41.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:41.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted-Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted&#160;-Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Remaining</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Number&#160;of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Exercise</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Contractual&#160;Term</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Aggregate</b></p></td></tr><tr><td style="vertical-align:bottom;width:41.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Options</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(years)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Intrinsic&#160;Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:41.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Outstanding at January 1, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,536,896</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2.66</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,774,558</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4.91</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Exercised</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (248,763)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1.34</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Forfeited/Expired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (372,201)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6.55</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Outstanding at December 31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,690,490</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3.09</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="font-size:10pt;"> 7.19</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,989,709</p></td></tr><tr><td style="vertical-align:bottom;width:41.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Granted*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 25,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3.31</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Exercised</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,287,462)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2.37</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Forfeited/Expired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (88,866)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6.27</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Outstanding at December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,339,162</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3.22</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="font-size:10pt;"> 6.38</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 28,640,009</p></td></tr><tr><td style="vertical-align:bottom;width:41.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Exercisable at December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,475,780</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2.18</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="font-size:10pt;"> 6.40</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 22,237,334</p></td></tr><tr><td style="vertical-align:bottom;width:41.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Vested and Expected to Vest at December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,339,162</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3.22</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="font-size:10pt;"> 6.38</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 28,640,009</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:justify;text-indent:0pt;margin:0pt;"><i style="font-style:italic;">* Includes </i><i style="font-style:italic;">25,000</i><i style="font-style:italic;"> stock options granted to a non-employee member of the Company&#8217;s advisory board.</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><i style="font-style:italic;">2021 Plan</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">A summary of option activity under the Innodata Inc. 2021 Equity Compensation Plan, as amended and restated effective as of April 11, 2022 (the &#8220;2021 Plan&#8221;) and changes during each of the years ended December 31, 2023 and 2022 are presented below. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:51.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:51.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted-</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted&#160;-</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Remaining</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Aggregate</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number&#160;of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Exercise</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Contractual</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Intrinsic</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Options</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Term&#160;(years)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Outstanding at January 1, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,030,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.46</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Exercised</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Forfeited/Expired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (2,500)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.41</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Outstanding at December 31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,027,500</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.46</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:10pt;"> 9.75</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td></tr><tr><td style="vertical-align:bottom;width:51.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13.05</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Exercised</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (63,595)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.59</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Forfeited/Expired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (43,334)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.41</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Outstanding at December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 923,571</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.41</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:10pt;"> 8.76</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,786,252</p></td></tr><tr><td style="vertical-align:bottom;width:51.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Exercisable at December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 386,209</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.34</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:10pt;"> 8.74</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,023,601</p></td></tr><tr><td style="vertical-align:bottom;width:51.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Vested and Expected to Vest at December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 923,571</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.41</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:10pt;"> 8.76</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,786,252</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Restricted Stock Awards</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">There were no outstanding awards of restricted stock under the 2013 Plan or the 2021 Plan (collectively, the &#8220;Equity Plans&#8221;) during each of the years ended December 31, 2023 and 2022.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Restricted Stock Units</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Restricted stock unit activity under the Equity Plans during each of the years ended December 31, 2023 and 2022 are presented below:</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted-</b></p></td></tr><tr><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Average</b></p></td></tr><tr><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Restricted Stock</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Grant&#160;Date</b></p></td></tr><tr><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Units</b></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Unvested at January 1, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 700,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5.59</p></td></tr><tr><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 49,756</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8.29</p></td></tr><tr><td style="vertical-align:bottom;width:72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Vested</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td></tr><tr><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Forfeited/Expired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td></tr><tr><td style="vertical-align:bottom;width:72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Unvested at December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 749,756</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5.77</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">During the year ended December 31, 2023, a total of 49,756 restricted stock units (&#8220;RSUs&#8221;) were granted. 28,804 RSUs were granted to employees under the 2013 Plan, and 20,952 RSUs were granted to non-employee directors of the Company under the 2021 Plan. Vesting of the RSUs granted to employees is contingent on continuous employment by the employee for a 12-month period from the date of grant, and each fully vested RSU represents the right to receive one share of the Company&#8217;s common stock or the fair market value of one share of common stock, at the Company&#8217;s discretion, and is classified as an equity award. Vesting of the RSUs granted to the non-employee directors occurs on the earlier of (i) one year from the date of grant; or (ii) the date of the Company&#8217;s 2024 annual meeting of stockholders, and each fully vested RSU represents the right to receive one share of the Company&#8217;s common stock and is classified as an equity award.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The stock-based compensation expense is recognized on a straight-line basis over a period of 12 months. The fair value of restricted stock units is based on the closing price of the stock at the time of the grant.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted-</b></p></td></tr><tr><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Number&#160;of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Average</b></p></td></tr><tr><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Restricted&#160;Stock</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Grant&#160;Date</b></p></td></tr><tr><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Units</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Fair&#160;Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Unvested at January 1, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td></tr><tr><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 700,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5.59</p></td></tr><tr><td style="vertical-align:bottom;width:72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Vested</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td></tr><tr><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Forfeited/Expired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td></tr><tr><td style="vertical-align:bottom;width:72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Unvested at December 31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 700,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5.59</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;background:#ffff00;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">During the year ended December 31, 2022, 700,000 performance-based RSUs were granted under the Equity Plans and remain non-vested as of December 31, 2023. Vesting of these RSUs is contingent on the achievement of certain financial performance goals and continuation of employment for a defined period. Each RSU vests pursuant to the vesting schedule found in the respective RSU agreement. The fair value of restricted stock units is estimated on the date of grant using the Binomial option pricing model.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The compensation cost related to non-vested stock options not yet recognized as of December 31, 2023 totaled approximately $3.5 million. The weighted-average period over which these costs will be recognized is 15 months.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The compensation cost related to non-vested restricted stock units not yet recognized as of December 31, 2023 totaled approximately $3.1 million. The weighted-average period over which these costs will be recognized is 14 months.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//718/tableOfContent<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (l)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>33
<FILENAME>R19.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644466235360">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Comprehensive loss<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ComprehensiveIncomeNetOfTaxAbstract', window );"><strong>Comprehensive loss</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ComprehensiveIncomeNoteTextBlock', window );">Comprehensive loss</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">13.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Comprehensive loss</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Accumulated other comprehensive loss, as reflected in the consolidated balance sheets, consists of pension liability adjustments, net of taxes, foreign currency translation adjustment and changes in fair value of derivatives, net of taxes. The components of accumulated other comprehensive loss as of December 31, 2023 and 2022, and reclassifications out of accumulated other comprehensive loss for the&#160;years then ended, are presented below (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Foreign&#160;Currency</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Accumulated&#160;Other</b></p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Pension&#160;Liability</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Fair&#160;Value&#160;of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Translation</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Comprehensive</b></p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Adjustment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Derivatives</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Adjustment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Loss</b></p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Balance at January 1, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (86)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (365)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,657)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (2,108)</p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Other comprehensive income (loss) before reclassifications, net of taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (322)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 185</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 407</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 270</p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Total other comprehensive loss before reclassifications, net of taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (408)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (180)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,250)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,838)</p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Net amount reclassified to earnings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (4)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 221</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 217</p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Balance at December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (412)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 41</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,250)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,621)</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Foreign&#160;Currency</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Accumulated&#160;Other</b></p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Pension&#160;Liability</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Fair&#160;Value&#160;of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Translation</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Comprehensive</b></p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Adjustment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Derivatives</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Adjustment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Loss</b></p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Balance at January 1, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (858)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (353)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (981)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (2,192)</p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Other comprehensive income (loss) before reclassifications, net of taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 561</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,118)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (676)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,233)</p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Total other comprehensive loss before reclassifications, net of taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (297)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,471)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,657)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (3,425)</p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Net amount reclassified to earnings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 211</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,106</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,317</p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Balance at December 31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (86)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (365)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,657)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (2,108)</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Taxes related to each component of other comprehensive loss were not material for the fiscal years presented and therefore not disclosed separately.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">All reclassifications out of accumulated other comprehensive loss had an impact on direct operating costs in the consolidated statements of operations and comprehensive loss.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ComprehensiveIncomeNetOfTaxAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomeNetOfTaxAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ComprehensiveIncomeNoteTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for comprehensive income, which includes, but is not limited to, 1) the amount of income tax expense or benefit allocated to each component of other comprehensive income, including reclassification adjustments, 2) the reclassification adjustments for each classification of other comprehensive income and 3) the ending accumulated balances for each component of comprehensive income.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(21))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//220/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomeNoteTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>34
<FILENAME>R20.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644466235360">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Segment reporting and concentrations<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingAbstract', window );"><strong>Segment reporting and concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingDisclosureTextBlock', window );">Segment reporting and concentrations</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">14.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Segment reporting and concentrations</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company&#8217;s operations are classified in three reporting segments: Digital Data Solutions (DDS), Synodex and Agility.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The DDS segment provides AI data preparation services, collecting or creating training data, annotating training data, and training AI algorithms for its customers, and AI model deployment and integration. The DDS segment also provides a range of data engineering support services including data transformation, data curation, data hygiene, data consolidation, data extraction, data compliance, and master data management.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Synodex segment provides an industry platform that transforms medical records into useable digital data organized in accordance with its proprietary data models or customer data models.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Agility segment provides an industry platform that provides marketing communications and public relations professionals with the ability to target and distribute content to journalists and social media influencers world-wide and to monitor and analyze global news channels (print, web, radio and TV) and social media channels.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">A significant portion of the Company&#8217;s revenues is generated from its locations in the Philippines, India, Sri Lanka, Canada, Germany, Israel, United States and the United Kingdom. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Revenues from external customers, segment operating profit (loss), and other reportable segment information are as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:70%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:56.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.61%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:56.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:41.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">For&#160;The&#160;Years Ended&#160;December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:56.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:56.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Revenues:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:56.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">DDS</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 61,576</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 56,523</p></td></tr><tr><td style="vertical-align:bottom;width:56.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Synodex</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,511</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,105</p></td></tr><tr><td style="vertical-align:bottom;width:56.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Agility</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 17,688</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 15,373</p></td></tr><tr><td style="vertical-align:bottom;width:56.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Total Consolidated</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.61%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 86,775</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 79,001</p></td></tr><tr><td style="vertical-align:bottom;width:56.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Income (loss) before provision for income taxes<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup>:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">DDS</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,823</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,393</p></td></tr><tr><td style="vertical-align:bottom;width:56.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Synodex</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (299)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (3,213)</p></td></tr><tr><td style="vertical-align:bottom;width:56.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Agility</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,385)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (8,663)</p></td></tr><tr><td style="vertical-align:bottom;width:56.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Total Consolidated</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.61%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 139</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (10,483)</p></td></tr><tr><td style="vertical-align:bottom;width:56.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Income (loss) before provision for income taxes<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup>:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">DDS</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,260</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 716</p></td></tr><tr><td style="vertical-align:bottom;width:56.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Synodex</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 219</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (2,599)</p></td></tr><tr><td style="vertical-align:bottom;width:56.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Agility</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,340)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (8,600)</p></td></tr><tr><td style="vertical-align:bottom;width:56.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Total Consolidated</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.61%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 139</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (10,483)</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:70%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:51.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:18.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:18.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:51.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:21.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,&#160;2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:21.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,&#160;2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total assets:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:51.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">DDS</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 37,232</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 25,758</p></td></tr><tr><td style="vertical-align:bottom;width:51.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Synodex</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,379</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,270</p></td></tr><tr><td style="vertical-align:bottom;width:51.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Agility</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 18,820</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 19,014</p></td></tr><tr><td style="vertical-align:bottom;width:51.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Total Consolidated</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.83%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 59,431</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.83%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 48,042</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:70%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:51.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:19.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:19.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:51.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:21.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:21.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Goodwill:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:51.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Agility</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,075</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,038</p></td></tr><tr><td style="vertical-align:bottom;width:51.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,075</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,038</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:36pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:6pt;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;">Before elimination of any inter-segment profits</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:36pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:6pt;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;">(2)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;">After elimination of any inter-segment profits</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Long-lived assets as of December 31, 2023 and 2022 by geographic region were comprised of (in thousands): </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:35%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:47.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:5.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:5.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:47.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:21.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:20.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:47.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.49%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 9,101</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,205</p></td></tr><tr><td style="vertical-align:bottom;width:47.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Foreign countries:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:47.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Canada</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,328</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,675</p></td></tr><tr><td style="vertical-align:bottom;width:47.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">United Kingdom</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,028</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,198</p></td></tr><tr><td style="vertical-align:bottom;width:47.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Philippines</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,484</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,682</p></td></tr><tr><td style="vertical-align:bottom;width:47.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">India</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,791</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,195</p></td></tr><tr><td style="vertical-align:bottom;width:47.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Sri Lanka</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:4.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 423</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 426</p></td></tr><tr><td style="vertical-align:bottom;width:47.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Israel</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:4.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 13</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3</p></td></tr><tr><td style="vertical-align:bottom;width:47.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total foreign</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.49%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 14,067</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 14,179</p></td></tr><tr><td style="vertical-align:bottom;width:47.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Totals</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.46%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 23,168</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.46%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 21,384</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-indent:36pt;margin:0pt;">Long-lived assets include the unamortized balance of right-of-use assets amounting to $5.1 million and $4.3 million as of December 31, 2023 and December 31, 2022, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">One customer in the DDS segment generated approximately 10% of the Company&#8217;s total revenues in the fiscal year ended December 31, 2023. Another customer in the DDS segment generated approximately 11% of the Company&#8217;s total revenues in the fiscal year ended December 31, 2022. No other customer accounted for 10% or more of total revenues during these periods. Further, in the&#160;years ended December 31, 2023 and 2022, revenues from non-U.S. customers accounted for 37% and 38%, respectively, of the Company&#8217;s revenues.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Revenues for each of the two&#160;years in the period ended December 31, 2023 and 2022 by geographic region (determined based upon customer domicile), were as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:40%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:55.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:55.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:17.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:17.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:55.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 54,430</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 48,724</p></td></tr><tr><td style="vertical-align:bottom;width:55.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">United Kingdom </p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10,766</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10,901</p></td></tr><tr><td style="vertical-align:bottom;width:55.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">The Netherlands</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,291</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,829</p></td></tr><tr><td style="vertical-align:bottom;width:55.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Canada</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,156</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,508</p></td></tr><tr><td style="vertical-align:bottom;width:55.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Others - principally Europe</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,132</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,039</p></td></tr><tr><td style="vertical-align:bottom;width:55.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Totals</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 86,775</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 79,001</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">As of December 31, 2023, approximately 31% of the Company&#8217;s accounts receivable was due from foreign (principally European) customers and 53% of accounts receivable was due from three customers. As of December 31, 2022, approximately 44% of the Company&#8217;s accounts receivable was due from foreign (principally European) customers and 45% of accounts receivable was due from four customers. No other customer accounted for 10% or more of the accounts receivable as of December 31, 2023 and 2022.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-15<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//280/tableOfContent<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 26<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-26<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 34<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-34<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-21<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-21<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>35
<FILENAME>R21.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644466235360">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Loss per Share<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Loss per Share</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareTextBlock', window );">Loss per Share</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt;">15.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Loss per Share</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:69.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:69.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:28.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">For&#160;the&#160;Years&#160;Ended</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:28.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net loss attributable to Innodata Inc. and Subsidiaries </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.69%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 908</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.69%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 11,935</p></td></tr><tr><td style="vertical-align:bottom;width:69.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Weighted average common shares outstanding</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 28,131</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 27,278</p></td></tr><tr><td style="vertical-align:bottom;width:69.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Dilutive effect of outstanding options </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.69%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.69%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td></tr><tr><td style="vertical-align:bottom;width:69.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Adjusted for dilutive computation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.69%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 28,131</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.69%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 27,278</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Basic loss per share is computed using the weighted-average number of common shares outstanding during the&#160;year. Diluted income per share is computed by considering the impact of the potential issuance of common shares, using the treasury stock method, on the weighted average number of shares outstanding. For those securities that are not convertible into a class of common stock, the two-class method of computing loss per share is used.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Options to purchase 6.3 million shares of common stock for the year ended December 31, 2023 were outstanding but not included in the computation of diluted loss per share because the effect would be antidilutive.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Options to purchase 5.3 million shares of common stock for the year ended December 31, 2022 were outstanding but not included in the computation of diluted loss per share because the exercise price of the options were greater than the average market price of the common shares and therefore have not been considered as potential equity shares.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for earnings per share.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//260/tableOfContent<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>36
<FILENAME>R22.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644466219584">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Derivatives<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract', window );"><strong>Derivatives</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock', window );">Derivatives</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">16.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Derivatives</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company conducts a large portion of its operations in international markets which subject it to foreign currency fluctuations. The most significant foreign currency exposures occur when revenue and associated accounts receivable are collected in one currency and expenses to generate revenues are incurred in another currency. The Company is also subject to wage inflation and other government mandated increases and operating expenses in Asian countries where the Company has the majority of its operations. The Company&#8217;s primary inflation and exchange rate exposure relates to payroll, other payroll costs and operating expenses in the Philippines, India, Sri Lanka and Israel.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">In addition, although most of the Company&#8217;s revenue is denominated in U.S. dollars, a significant portion of total revenues is denominated in Canadian dollars, Pound Sterling and Euros.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company&#8217;s policy is to enter derivative instrument contracts with terms that coincide with the underlying exposure being hedged for a period up to 12 months. As such, the Company&#8217;s derivative instruments are expected to be highly effective. For derivative instruments that are designated and qualify as cash flow hedges, the entire change in fair value of the hedging instrument is recorded to Other comprehensive income (loss). Upon settlement of these contracts, the change in the fair value recorded in Other comprehensive income (loss) are reclassified to earnings and included as part of Direct operating costs. For derivative instruments that are not designated as hedges, any change in fair value is recorded directly in earnings as part of Direct operating costs.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company formally documents all relationships between hedging instruments and hedged items, as well as its risk management objective and strategy for undertaking hedge transactions. The Company does not hold or issue derivatives for trading purposes. All derivatives are recognized at their fair value and classified based on the instrument&#8217;s maturity date. The total notional amount for outstanding derivatives designated as hedges was $10.5 million and $14.2 million as of December 31, 2023 and 2022, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The following table presents the fair value of derivative instruments included within the consolidated balance sheets as of December 31, 2023 and 2022 (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:40.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:30.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:40.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:30.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Balance&#160;Sheet&#160;Location</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Fair&#160;Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:40.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:30.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:40.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Derivatives designated as hedging instruments:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:30.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:40.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Foreign currency forward contracts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:30.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">Accrued expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.43%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 365</p></td></tr><tr><td style="vertical-align:bottom;width:40.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Foreign currency forward contracts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:30.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">Prepaid expenses and other current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.43%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 41</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The effect of foreign currency forward contracts designated as cash flow hedges on the consolidated statements of operations for the&#160;years ended December 31, 2023 and 2022 were as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net gain (loss) recognized in OCI<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 185</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,118)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net loss reclassified from accumulated OCI into income<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (221)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,106)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net gain recognized in income<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(3)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:5pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:6pt;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;">Net change in fair value of the effective portion classified into other comprehensive income (&#8220;OCI&#8221;)</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:6pt;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;">(2)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;">Effective portion classified within direct operating costs.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:6pt;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;">(3)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;">There were no ineffective portions for the period presented</span><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;">.</span></td></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for derivative instruments and hedging activities including, but not limited to, risk management strategies, non-hedging derivative instruments, assets, liabilities, revenue and expenses, and methodologies and assumptions used in determining the amounts.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480237/815-40-50-5<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5C<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480434/815-10-50-5C<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 815<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//815/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>37
<FILENAME>R23.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644466153872">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Line of Credit<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityAbstract', window );"><strong>Line of Credit</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtDisclosureTextBlock', window );">Line of Credit</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><b style="font-weight:bold;">17.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Line of Credit</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">On April 4, 2023, the Company entered into a Credit Agreement (the &#8220;Credit Agreement&#8221;) with Wells Fargo Bank, National Association, as lender, and Innodata Inc., Innodata Synodex, LLC, Innodata docGenix, LLC and Agility PR Solutions LLC as co-borrowers. On July 21, 2023, Innodata Services LLC signed a Joinder Agreement to join the Credit Agreement as a co-borrower. The Credit Agreement provides for a secured revolving line of credit (the &#8220;Revolving Credit Facility&#8221;) up to an amount equal to the lesser of the borrowing base and $10.0 million with a maturity date of April 4, 2026. The Revolving Credit Facility&#8217;s borrowing base is calculated in accordance with the terms of the Credit Agreement and on the basis of 85% of eligible accounts, 85% of eligible foreign accounts up to $2.0 million and certain other reserves and adjustments. As of December 31, 2023, such borrowing base calculation equaled approximately $10.0 million. The Credit Agreement contains a financial covenant that requires the Borrowers, on a consolidated basis, to maintain a fixed charge coverage ratio of not less than 1.10 to 1.00 by December 31, 2023. Except as set forth in the Credit Agreement, borrowings under the Revolving Credit Facility bear interest at a rate equal to the daily simple secured overnight financing rate (&#8220;SOFR&#8221;) plus 2.25%. The Company has not utilized the Revolving Credit Facility during the year ended December 31, 2023 and through the date of filing of this Report.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 470<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//470/tableOfContent<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1C<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1C<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1C<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1C<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1C<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1C<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1E<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1I<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1I<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1I<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1I<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1I<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1I<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>38
<FILENAME>R24.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644466230640">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Subsequent Event<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsequentEventsAbstract', window );"><strong>Subsequent Event</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsequentEventsTextBlock', window );">Subsequent Event</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><b style="font-weight:bold;">18.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Subsequent Event</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">On February 21, 2024, a putative class action lawsuit was filed in the U.S. District Court for the District of New Jersey against the Company and certain of its current and former officers (D&#8217;Agostino v. Innodata Inc., et al., Case Number 2:24-CV-00971 (the &#8220;D&#8217;Agostino Complaint&#8221;). The D&#8217;Agostino Complaint asserts claims against all defendants for alleged violations of Section 10(b) of the Exchange Act and Rule 10b-5 promulgated thereunder and Section 20(a) of the Exchange Act. The D&#8217;Agostino Complaint alleges that defendants made materially false and misleading statements related to its AI business and development and related financial results, growth, and prospects. The D&#8217;Agostino Complaint seeks unspecified compensatory and punitive damages, costs, attorneys&#8217; fees, and other unspecified relief. The Company intends to defend against the D&#8217;Agostino Complaint vigorously. </p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsequentEventsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsequentEventsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 855<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//855/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 855<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483399/855-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>39
<FILENAME>R25.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644459192112">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Description of Business and Summary of Significant Accounting Estimates and Policies (Policies)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Description of Business and Summary of Significant Accounting Estimates and Policies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationsPolicy', window );">Description of Business</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Description of Business</b> - Innodata Inc. (NASDAQ: INOD) (including its subsidiaries, the &#8220;Company&#8221;, &#8220;Innodata&#8221;, &#8220;we&#8221;, &#8220;us&#8221; or &#8220;our&#8221;) is a leading data engineering company. The Company&#8217;s mission is to help the world&#8217;s most prestigious companies deliver the promise of ethical, high-performing artificial intelligence (&#8220;AI&#8221;), which the Company believes will contribute to a safer and more prosperous world.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company was founded on a simple idea: engineer the highest quality data so organizations across broad industry segments could make smarter decisions. Today, the Company believes it is delivering the highest quality data for some of the world&#8217;s most innovative technology companies to use to train the AI models of the future.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">AI holds the promise that computers can perceive and understand the world, enabling products and services that would have been previously unimaginable and impossible with traditional coding. AI learns from data, and the highest-performing AI will have learned from the highest-quality data. The Company believes that it can contribute meaningfully by harnessing its capabilities, honed over 30 years, in collecting and annotating data at scale with consistency and high accuracy.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company is also helping companies deploy and integrate AI into their operations and products and providing innovative AI-enabled industry platforms, helping ensure that its customers&#8217; businesses are prepared for a world in which machines augment human activity in ways previously unimaginable. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company developed its capabilities and honed its approaches progressively over the last 30 years creating high-quality data for many of the world&#8217;s most demanding information companies. Approximately eight years ago, the Company formed Innodata Labs, a research and development center, to research, develop and apply machine learning and emerging AI to its large-scale, human-intensive data operations. In 2019, the Company began packaging the capabilities that emerged from its R&amp;D efforts in order to align with several fast-growing new markets and help companies use AI/ML to drive performance benefits and business insights.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company&#8217;s historical core competency in high-quality data, combined with these R&amp;D efforts in applied AI, created the foundation for the evolution of the Company&#8217;s offerings, which include AI Data Preparation, AI Model Deployment and Integration, and AI-Enabled Industry Platforms.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">AI Data Preparation</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">For several of the world&#8217;s large technology companies, the Company supports their efforts at building generative AI foundation models. For these companies, the Company provides or is poised to provide a range of scaled data solutions and services. The Company&#8217;s scaled data solutions include providing instruction data sets for fine-tuning LLMs to understand prompts, to accept instruction, to converse, to apparently reason, and to perform the myriad of incredible feats that many of us have now experienced. The Company also provides reinforcement learning and reward modeling, services which are critical to provide the guardrails against toxic, bias and harmful responses, and model evaluation services. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">For social media companies, robotics companies, financial services companies, and many others, the Company collects or creates training data, annotates training data, and trains AI algorithms for working with images, text, video, audio, code and sensor data. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company utilizes a variety of leading third-party tools, proprietary tools and customer tools. For text annotation, the Company uses its proprietary data annotation platform that incorporates AI to reduce cost while improving consistency and quality of output. The Company&#8217;s proprietary data annotation platform features auto-tagging capabilities that apply to both classical and generative AI tasks. The platform encapsulates many of the innovations the Company has conceived of in the course of its 30-year history of creating high-quality data.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">In addition, because collecting real-world data is often impracticable (due to data privacy regulations or rarity of cohorts and outliers), the Company creates high-quality synthetic data that maintains all of the statistical properties of real-world data, using a combination of domain specialists and machine technologies that leverage large language models (LLMs).</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">AI Model Deployment and Integration</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company helps businesses leverage the latest AI technologies to achieve their goals. The Company develops custom AI models (where it selects the appropriate algorithms, tunes hyperparameters, trains and validates the models, and updates the models as required). The Company also helps businesses fine-tune their own custom versions of the Company&#8217;s proprietary models and third-party foundation models to address domain-specific and customer-specific use cases.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">For the Company&#8217;s customers that provide products and solutions that require intensive text data processing and analytics, in addition to deploying and integrating AI models, the Company often provides a range of data engineering support services including data transformation, data curation, data hygiene, data consolidation, data extraction, data compliance, and master data management.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company&#8217;s customers span a diverse range of industries and a wide range of AI use cases, benefiting from the short time-to-value and high economic returns of the Company&#8217;s AI solutions and platforms.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">AI-Enabled Industry Platforms</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company&#8217;s AI-enabled industry platforms address specific, niche market requirements the Company believes it can innovate with AI/ML technologies. The Company deploys these industry platforms as software-as-a-service (SaaS) and as managed services. These platforms benefit from the Company&#8217;s technology infrastructure, its industry-specific knowledge, its strong customer relationships and experience merging technology with the business processes of its customers. To date, the Company has built an industry platform for medical records data extraction and transformation (which the Company brands as &#8220;Synodex<sup style="font-size:8.25pt;line-height:100%;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;top:0pt;vertical-align:top;">&#174;</sup>&#8221;) and an industry platform for public relations (which the Company brands as &#8220;Agility PR Solutions&#8221;). The Company is in development with an additional AI-enabled industry platform to serve financial services institutions.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company&#8217;s Synodex industry platform transforms medical records into useable digital data organized in accordance with its proprietary data models or customer data models. </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company&#8217;s Agility industry platform provides marketing communications and public relations professionals with the ability to target and distribute content to journalists and social media influencers world-wide and to monitor and analyze global news (print, web, radio and TV) and social media.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company&#8217;s operations are presently classified and reported in three reporting segments: Digital Data Solutions (DDS), Synodex and Agility.</p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConsolidationPolicyTextBlock', window );">Principles of Consolidation</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Principles of Consolidation </b>-<b style="font-weight:bold;"> </b>The consolidated financial statements include the accounts of Innodata Inc. and its wholly owned subsidiaries, and docGenix, a limited liability company that is majority-owned by the Company. The non-controlling interests in the docGenix limited liability company have call and put options that can be settled in cash or stock. Accordingly, this is presented in temporary equity in accordance with Financial Accounting Standards Board (FASB) non-controlling interest guidance. All intercompany transactions and balances have been eliminated in consolidation.</p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UseOfEstimates', window );">Use of Estimates</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Use of Estimates&#160;</b>- In preparing consolidated financial statements in conformity with U.S. GAAP, management is required to make estimates and assumptions that affect the reported amounts of assets and liabilities, the disclosure of contingent assets and liabilities as of the date of the consolidated financial statements, and the reported amounts of revenues and expenses during the reporting period. Management believes that the estimates used in the preparation of the consolidated financial statements are reasonable. Actual results could differ from those estimates. Significant estimates include those related to the allowance for doubtful accounts and billing adjustments, useful life of long-lived assets, useful life of intangible assets, impairment of goodwill and intangible assets, valuation of deferred tax assets, valuation of stock-based compensation, pension benefit plan assumptions, litigation accruals and estimated accruals for various tax exposures.</p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRecognitionPolicyTextBlock', window );">Revenue Recognition</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Revenue Recognition&#160;</b>- The Company&#8217;s revenue is recognized when services are rendered or goods are delivered to a customer, in an amount that reflects the consideration that the Company expects to receive in exchange for those services or goods as per the agreement with the customer. In cases where there are agreements with multiple performance obligations, the Company identifies each performance obligation and evaluates whether the performance obligations are distinct within the context of the agreement at the agreement&#8217;s inception. Performance obligations that are not distinct at agreement inception are combined. For agreements with distinct performance obligations, the Company allocates the transaction price to each distinct performance obligation proportionately based on the estimated standalone selling price for each performance obligation, if any, and then evaluates how the services are performed for the customer to determine the timing of revenue recognition.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">For the Digital Data Solutions (DDS) segment, revenue is recognized primarily based on the quantity delivered or resources utilized in the period in which services are performed and performance conditions are satisfied as per the agreement. Revenue from agreements billed on a time-and-materials basis is recognized as services are performed. Revenue from fixed-fee agreements, which is not significant to overall revenues, is recognized based on the proportional performance method of accounting, as services are performed, or milestones are achieved.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">For the Synodex segment, revenue is recognized primarily based on the quantity delivered in the period in which services are performed and performance conditions are satisfied as per the agreement. A portion of the Synodex segment revenue is derived from licensing the Company&#8217;s functional software and providing access to the Company&#8217;s hosted software platform. Revenue from such services is recognized monthly when all parties to the agreement have agreed to the agreement; each party&#8217;s rights are identifiable; the payment terms are identifiable; the agreement has commercial substance; access to the service is provided to the end user; and collection is probable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Agility segment derives its revenue primarily from subscription arrangements and provision of enriched media analysis services. It also derives revenue as a reseller of corporate communication solutions. Revenue from subscriptions is recognized monthly when access to the service is provided to the end user; all parties to the agreement have agreed to the agreement; each party&#8217;s rights are identifiable; the payment terms are identifiable; the agreement has commercial substance; and collection is probable. Revenue from enriched media analysis services is recognized when the services are performed, and performance conditions are satisfied. Revenue from the reseller agreements is recognized at the gross amount received for the goods in accordance with the Company functioning as a principal due to the Company meeting the following criteria: the Company acts as the primary obligor in the sales transaction; assumes the credit risk; sets the price; can select suppliers; and is involved in the execution of the services, including after sales service.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Revenue includes reimbursement of out-of-pocket expenses, with the corresponding out-of-pocket expenses included in direct operating costs.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Revenue associated with the services provided in one period and billed in a subsequent period is commonly referred to as unbilled revenues and is included under Accounts receivable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company considers U.S. GAAP criteria for determining whether to report gross revenue as a principal versus net revenue as an agent. The Company evaluates whether it is in control of the services before the same are transferred to the customer to assess whether it is principal or agent in the arrangement.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Contract acquisition costs, which are included in prepaid expenses and other current assets, are amortized over the term of a subscription agreement or contract that normally has a duration of 12 months or less. The Company reviews these prepaid acquisition costs on a periodic basis to determine the need to adjust the carrying values for early terminated contracts. Included in prepaid expenses and other current assets on the accompanying consolidated balance sheets are contract acquisition costs amounting to $0.8 million for each of the years ended December 31, 2023 and 2022. These acquisition costs relate to our Agility segment and are amortized over the term of the subscription agreement which normally has a duration of 12 months or less.</p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock', window );">Foreign Currency Translation</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Foreign Currency Translation&#160;</b>- The functional currency of the Company&#8217;s subsidiaries in the Philippines, India, Sri Lanka, Israel, Hong Kong, the United Kingdom and Canada (other than the Agility subsidiaries) is the U.S. dollar. Transactions denominated in Philippine pesos, Indian and Sri Lankan rupees, Israeli shekels, United Kingdom pound sterling and Canadian dollars are translated to U.S. dollars at rates which approximate those in effect on the transaction dates. Monetary assets and all liabilities denominated in foreign currencies on December 31, 2023 and December 31, 2022 are translated at the exchange rate in effect as of those dates. Non-monetary assets and stockholders&#8217; equity are translated at the appropriate historical rates. Included in direct operating costs were foreign exchange losses (gains) resulting from such translations of approximately $0.4 million and ($1.3) million for the&#160;years ended December 31, 2023 and 2022, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The functional currency for the Company&#8217;s subsidiary in Germany is the Euro. The functional currencies for the Company&#8217;s Agility subsidiaries in the United Kingdom and Canada are the Pound Sterling and the Canadian dollar, respectively. The financial statements of these subsidiaries are prepared in their respective currencies. Financial information is translated from the applicable functional currency to the U.S. dollar (the reporting currency) for inclusion in the Company&#8217;s consolidated financial statements. Income, expenses, and cash flows are translated at weighted-average exchange rates prevailing during the fiscal period, and assets and liabilities are translated at fiscal period-end exchange rates. Resulting translation adjustments are included as a component of accumulated other comprehensive loss in stockholders&#8217; equity. Foreign exchange transaction gains or losses are included in direct operating costs in the accompanying consolidated statements of operations and comprehensive loss.</p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativesPolicyTextBlock', window );">Derivative Instruments</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;min-height:12.0pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><b style="font-weight:bold;">Derivative Instruments&#160;- </b>The Company accounts for derivative transactions in accordance with the FASB&#8217;s Accounting Standards Codification (&#8220;ASC&#8221;) Topic 825, &#8220;Financial Instruments&#8221;. For derivative instruments that are designated and qualify as cash flow hedges, the entire change in fair value of the hedging instrument is recorded in Other comprehensive income (loss). When the amounts recorded in Other comprehensive income (loss) are reclassified to earnings, they are included as part of Direct operating costs. For derivative instruments that are not designated as hedges, any change in fair value is recorded directly in earnings as part of Direct operating costs. The total notional value of designated outstanding foreign currency forward contracts was $10.5 million and $14.2 million as of December 31, 2023 and 2022, respectively.</p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsPolicyTextBlock', window );">Cash Equivalents</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Cash Equivalents&#160;- </b>For financial statement purposes, the Company considers all highly liquid instruments purchased with an original maturity of three&#160;months or less to be cash equivalents.</p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InvestmentPolicyTextBlock', window );">Short term Investments-other</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Short term Investments-other&#160;- </b>For financial statement purposes, the Company considers investments made in time deposits and treasury bills having an original maturity of more than three months but less than one year from the balance sheet date under short term investments.</p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskCreditRisk', window );">Concentration of Credit Risk</a></td>
<td class="text"><b style="font-weight:bold;">Concentration of Credit Risk&#160;-</b> The Company maintains its cash with highly rated financial institutions, located in the United States and in foreign locations where the Company has its operations. At December 31, 2023, the Company had cash and cash equivalents of $13.8 million, of which $6.5 million was held by its foreign subsidiaries and $7.3 million <span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TradeAndOtherAccountsReceivablePolicy', window );">Accounts Receivable</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Accounts Receivable&#160;-</b> Accounts receivable is generally recorded at the invoiced amounts, net of an allowance for expected losses. The Company establishes credit terms for new customers based upon management&#8217;s review of their credit information and project terms, and performs ongoing credit evaluations of its customers, adjusting credit terms when management believes appropriate based upon payment history and an assessment of the customer&#8217;s current creditworthiness.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">We record an allowance for credit losses for estimated losses resulting from the failure of our customers to make the required payments and provisions for billing adjustments relating to quality issues on delivered services. The allowance for credit losses is based on a review of specifically identified accounts and an overall aging analysis applied to accounts pooled based on similar risk characteristics. Judgments are made with respect to the collectability of accounts receivable within each pool based on historical experience, current payment practices, and current economic trends based on our expectations over the expected life of the receivables, generally ninety days or less. Actual credit losses could differ from those estimates.</p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock', window );">Property and Equipment</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Property and Equipment</b>&#160;<b style="font-weight:bold;">- </b>Property and equipment are stated at cost and are depreciated on the straight-line method over the estimated useful lives of the related assets, which is generally <span style="-sec-ix-hidden:Hidden_yGJN2FqFVEawQJWZoFoh0w;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">two</span></span> to <span style="-sec-ix-hidden:Hidden_qOPG7XoMf06lp7FpqgoXEQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">ten&#160;years</span></span>. Leasehold improvements are amortized on a straight-line basis over the shorter of their estimated useful lives or the terms of the leases. Certain assets under capital leases are amortized over the lives of the respective leases or the estimated useful lives of the assets, whichever is shorter.</p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock', window );">Capitalized Developed Software</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Capitalized Developed Software - </b>The Company incurs development costs related to software it develops for its internal use. Qualifying costs incurred during the application development stage are capitalized. These costs primarily consist of internal labor and third-party development costs and are amortized using the straight-line method over the estimated useful life of the capitalized developed software, which generally ranges from <span style="-sec-ix-hidden:Hidden_JLLJiYyuKkqFRS0YKxa3_A;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">three</span></span> to ten years. All other research and maintenance costs are expensed as incurred. Capitalized developed software in progress as of December 31, 2023 and 2022 were $3.5 million and $2.8 million, respectively. The cumulative completed capitalized developed software as of December 31, 2023 and 2022 was $15.2 million and $11.8 million, respectively.</p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock', window );">Long-lived Assets</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Long-lived Assets&#160;-</b> Management assesses the recoverability of its long-lived assets, whenever events or changes in circumstances indicate that the carrying value may not be recoverable. The following factors, if present, may trigger an impairment&#160;review: (i)&#160;significant&#160;underperformance relative to expected historical or projected future operating results; (ii)&#160;significant negative industry&#160;or&#160;economic&#160;trends; (iii)&#160;significant decline in the Company&#8217;s stock price&#160;for&#160;a&#160;sustained&#160;period;&#160;and&#160;(iv)&#160;a&#160;change&#160;in the Company&#8217;s market capitalization relative to net book value. If the recoverability of these assets is unlikely because&#160;of&#160;the&#160;existence&#160;of one or more of the above-mentioned factors, an&#160;impairment analysis is performed, using undiscounted cash flow&#160;projections. Management makes assumptions regarding estimated future cash flows and other factors to determine the fair value of these respective assets. An impairment loss will be recognized only if the carrying value of a long-lived asset is not recoverable and exceeds its fair value and is measured as the amount by which the carrying amount of a long-lived asset exceeds its fair value.</p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock', window );">Goodwill and Other Intangible Assets</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Goodwill and Other Intangible Assets</b>&#160;<b style="font-weight:bold;">- </b>The Company performs a valuation of assets acquired and liabilities assumed on each acquisition accounted for as a business combination and allocates the purchase price of each acquired business to its respective net tangible and intangible assets and liabilities. Acquired intangible assets principally consist of technology, customer relationships, backlog and trademarks, having useful lives which range from <span style="-sec-ix-hidden:Hidden_qjmnNajey0O1TLxVoiF3kA;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">ten</span></span> to twelve years. The Company determines the appropriate useful life by performing an analysis of expected cash flows based on projected financial information of the acquired businesses. Intangible assets are amortized over their estimated useful lives using the straight-line method, which approximates the pattern in which the majority of the economic benefits are expected to be consumed. Intangible assets are amortized into direct operating costs ratably over their expected related revenue streams over their useful lives.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Goodwill represents the excess of the cost of an acquired entity over the fair value of the acquired net assets. The Company does not amortize goodwill but evaluates it for impairment at the reporting unit level annually during the third quarter of each fiscal&#160;year (as of September&#160;30 of that year) or when an event occurs, or circumstances change, that indicates the carrying value may not be recoverable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company performed its annual goodwill assessment for the Agility segment as of September 30, 2023 for impairment. The impairment test involves estimating the fair value based on a combination of income (estimates of future discounted cash flows) and the market approach (market multiples for similar companies) using unobservable inputs (Level 3). The Company concluded that there is no impairment of goodwill for the Agility segment.</p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxPolicyTextBlock', window );">Income Taxes</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Income Taxes&#160;</b>- Estimated deferred taxes are determined based on the difference between the financial statement and tax basis of assets and liabilities, using enacted tax rates, as well as any net operating loss or tax credit carryforwards expected to reduce taxes payable in future&#160;years. A valuation allowance is provided when it is more likely than not that all or some portion of the estimated deferred tax assets will not be realized. While the Company considers future taxable income in assessing the need for the valuation allowance, in the event that the Company anticipates that it will be able to realize the estimated deferred tax assets in the future in excess of its net recorded amount, an adjustment to the provision for deferred tax assets would increase income in the period such determination was made. Similarly, in the event that the Company anticipates that it will not be able to realize the estimated deferred tax assets in the future considering future taxable income, an adjustment to the provision for deferred tax assets would decrease income in the period such determination was made. Changes in the valuation allowance from period to period are included in the Company&#8217;s tax provision in the period of change. The Company indefinitely reinvests the foreign earnings in its foreign subsidiaries. If such earnings are repatriated in the future, or are no longer deemed to be indefinitely reinvested, the Company would have to accrue as a liability the applicable amount of foreign jurisdiction withholding taxes associated with such remittances.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">In assessing the realization of deferred tax assets, management considered whether it is more likely than not that all or some portion of the U.S. and Canadian deferred tax assets will not be realizable. As the expectation of future taxable income resulting from the Synodex and Agility segments cannot be predicted with certainty, the Company maintains a valuation allowance against all the United States, Canadian and European (principally Germany and the United Kingdom) net deferred tax assets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The Company accounts for income taxes regarding uncertain tax positions, and recognizes interest and penalties related to uncertain tax positions in income tax expense in the consolidated statements of operations and comprehensive loss.</p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LessorLeasesPolicyTextBlock', window );">Accounting for Leases</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Accounting for Leases&#160;</b>-<b style="font-weight:bold;"> </b>Accounting Standards for Codifications (ASC 842 &#8220;Accounting for Leases&#8221;) requires lessees to recognize most leases on their balance sheets as liabilities, with corresponding &#8220;right-of-use&#8221; assets. The Company recognizes a right-of-use asset and corresponding lease liability for all its operating leases. See Note 9, Operating Leases.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The determination of whether an arrangement is, or contains, a lease is based on the substance of the arrangement at the inception date and requires an assessment of whether the fulfillment of the arrangement is dependent on the use of a specific asset or assets, or the arrangement conveys a right to use the asset. A reassessment is made after inception of the lease only if one of the following applies:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">a.</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">there is a change in contractual terms, other than a renewal or extension of the arrangement; </span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">b.</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">a renewal option is exercised, or extension granted, unless the term of the renewal or extension was initially included in the lease term; </span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">c.</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">there is a change in the determination of whether fulfillment is dependent on a specified asset; or </span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">d.</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">there is a substantial change to the asset. </span></td></tr></table><div style="margin-top:10pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Whenever a reassessment is made, lease accounting shall commence or cease from the date when the change in circumstances gave rise to the reassessment for scenarios (a), (c) or (d) and at the date of renewal or extension period for scenario (b).</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Leases where the lessor retains substantially all the risks and rewards of ownership are classified as operating leases. As of December 31, 2023, all of the Company&#8217;s leases are classified under operating leases. Operating lease payments are recognized as an operating expense on a straight-line basis over the lease term.</p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy', window );">Accounting for Stock-Based Compensation</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Accounting for Stock-Based Compensation&#160;-</b> The Company measures and recognizes stock-based compensation expense for all share-based payment awards made to employees and directors based on the estimated fair value at the grant date. The stock-based compensation expense is recognized over the requisite service period. The fair value of stock option grants is determined using the Black-Scholes option-pricing model and the fair value of restricted stock units is determined using the Binomial option pricing model. For restricted stock units which are time vested, the fair value is determined based on the grant date fair value.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The stock-based compensation expense related to the Company&#8217;s stock plans were allocated as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:50%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:53.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:53.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:42.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year&#160;Ended&#160;December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:53.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:53.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Direct operating costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 294</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 214</p></td></tr><tr><td style="vertical-align:bottom;width:53.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Selling and administrative expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,733</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,069</p></td></tr><tr><td style="vertical-align:bottom;width:53.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total stock-based compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,283</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueOfFinancialInstrumentsPolicy', window );">Fair Value of Financial Instruments</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Fair Value of Financial Instruments&#160;</b>- The carrying amounts of financial instruments approximated their fair value as of December 31, 2023 and 2022, because of the relatively short maturity of these instruments. See Note&#160;16, Derivatives.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">Fair value measurements and disclosures define fair value as the price that would be received for an asset or paid to transfer a liability (an exit price) in the principal or most advantageous market for the asset or liability in an orderly transaction between market participants on the measurement date.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The accounting standard establishes a fair value hierarchy that prioritizes the inputs used to measure fair value into three levels. The three levels are defined as follows:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><i style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:italic;font-weight:normal;">Level 1</i><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;">: Unadjusted quoted price in active market for identical assets and liabilities.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><i style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:italic;font-weight:normal;">Level 2:</i><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"> Inputs other than those included in Level 1 that are observable for the asset or liability, either directly or indirectly, such as quoted prices for similar assets or liabilities; quoted prices in markets that are not active; or other inputs that are observable or can be corroborated by observable market data for substantially the full term of the assets or liabilities.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">&#9679;</td><td style="padding:0pt;"><i style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:italic;font-weight:normal;">Level 3:</i><span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"> Unobservable inputs reflecting management&#8217;s own assumptions about the inputs used in pricing the asset or liability.</span></td></tr></table><div style="margin-top:10pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The Company&#8217;s forward contracts are at level 2 in the fair value hierarchy.</p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerSharePolicyTextBlock', window );">Income (Loss) per Share</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Income (Loss) per Share&#160;</b>- Income (loss) per share is computed using the weighted-average number of common shares outstanding during the&#160;year. Diluted income (loss) per share is computed by considering the impact of the potential issuance of common shares, using the treasury stock method, on the weighted average number of shares outstanding. For those securities that are not convertible into a class of common stock, the &#8220;two class&#8221; method of computing income (loss) per share is used.</p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PensionAndOtherPostretirementPlansPensionsPolicy', window );">Pension</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Pension&#160;- </b>The Company records annual pension costs based on calculations, which include various actuarial assumptions including discount rates, compensation increases and other assumptions involving demographic factors. The Company reviews its actuarial assumptions on an annual basis and makes modifications to the assumptions based on current rates and trends. The Company believes that the assumptions used in recording its pension obligations are reasonable based on its experience, market conditions and inputs from its actuaries.</p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock', window );">Deferred Revenue</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Deferred Revenue&#160;</b>- Deferred revenue represents payments received from customers in advance of providing services and amounts deferred if conditions for revenue recognition have not been met. Included in Accrued expenses and other on the accompanying consolidated balance sheets is deferred revenue amounting to $3.5 million and $4.4 million as of December 31, 2023 and 2022, respectively. We expect to recognize substantially all of these performance obligations over the next 12 months.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The table below provides information about contract liabilities (deferred revenue) and the significant changes in the balance for the years ended December 31, 2023 and 2022, respectively (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:75.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:75.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:21.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:75.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;">    </b><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;">    </b><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:75.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance at January 1</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,366</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,509</p></td></tr><tr><td style="vertical-align:bottom;width:75.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net deferred revenue in the period</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 21,619</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 29,756</p></td></tr><tr><td style="vertical-align:bottom;width:75.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Revenue recognized</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (22,586)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (29,618)</p></td></tr><tr><td style="vertical-align:bottom;width:75.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Currency translations and other adjustments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 124</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (281)</p></td></tr><tr><td style="vertical-align:bottom;width:75.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance at December 31</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,523</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,366</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock', window );">Recent Accounting Pronouncements</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><b style="font-weight:bold;">Recent Accounting Pronouncements&#160;- </b>On November 27, 2023, the FASB issued Accounting Standards Update (ASU) No. 2023-07, &#8220;Improvements to Reportable Segment Disclosures,&#8221;. The ASU&#8217;s effective date is for fiscal years beginning after December 15, 2023. The adoption of the ASU 2023-07 will enhance expense disclosures in segment reporting and other qualitative disclosures and allows for disclosing multiple measures of segment profit or loss. The Company does not expect any significant impact from the adoption of this standard.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">On December 14, 2023, the FASB issued ASU No. 2023-09, &#8220;Income Taxes (Topic 740): Improvements to Income Tax Disclosures&#8221;. The ASU&#8217;s effective date is for fiscal years beginning after December 15, 2024. The adoption of the ASU 2023-09 will enhance quantitative and qualitative disclosures related to rate reconciliation of significant components and income tax paid. The Company does not expect any significant impact from the adoption of this standard.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationsPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for completed business combinations (purchase method, acquisition method or combination of entities under common control). This accounting policy may include a general discussion of the purchase method or acquisition method of accounting (including for example, the treatment accorded contingent consideration, the identification of assets and liabilities, the purchase price allocation process, how the fair values of acquired assets and liabilities are determined) and the entity's specific application thereof. An entity that acquires another entity in a leveraged buyout transaction generally discloses the accounting policy followed by the acquiring entity in determining the basis used to value its interest in the acquired entity, and the rationale for that accounting policy.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 10<br> -Section 05<br> -Paragraph 4<br> -Subparagraph (a)-(d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479515/805-10-05-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationsPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for cash and cash equivalents, including the policy for determining which items are treated as cash equivalents. Other information that may be disclosed includes (1) the nature of any restrictions on the entity's use of its cash and cash equivalents, (2) whether the entity's cash and cash equivalents are insured or expose the entity to credit risk, (3) the classification of any negative balance accounts (overdrafts), and (4) the carrying basis of cash equivalents (for example, at cost) and whether the carrying amount of cash equivalents approximates fair value.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskCreditRisk">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for credit risk.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 825<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480981/942-825-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskCreditRisk</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConsolidationPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy regarding (1) the principles it follows in consolidating or combining the separate financial statements, including the principles followed in determining the inclusion or exclusion of subsidiaries or other entities in the consolidated or combined financial statements and (2) its treatment of interests (for example, common stock, a partnership interest or other means of exerting influence) in other entities, for example consolidation or use of the equity or cost methods of accounting. The accounting policy may also address the accounting treatment for intercompany accounts and transactions, noncontrolling interest, and the income statement treatment in consolidation for issuances of stock by a subsidiary.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483426/235-10-50-4<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConsolidationPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativesPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for its derivative instruments and hedging activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 815<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480434/815-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(n))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480434/815-10-50-1A<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480434/815-10-50-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480434/815-10-50-4<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480434/815-10-50-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativesPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerSharePolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerSharePolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueOfFinancialInstrumentsPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for determining the fair value of financial instruments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 60<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 820<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482053/820-10-60-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 825<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueOfFinancialInstrumentsPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for (1) transactions denominated in a currency other than the reporting enterprise's functional currency, (2) translating foreign currency financial statements that are incorporated into the financial statements of the reporting enterprise by consolidation, combination, or the equity method of accounting, and (3) remeasurement of the financial statements of a foreign reporting enterprise in a hyperinflationary economy.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//830/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for goodwill and intangible assets. This accounting policy also may address how an entity assesses and measures impairment of goodwill and intangible assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 30<br> -Topic 350<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for recognizing and measuring the impairment of long-lived assets. An entity also may disclose its accounting policy for long-lived assets to be sold. This policy excludes goodwill and intangible assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.CC)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480091/360-10-S99-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 05<br> -Paragraph 4<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482338/360-10-05-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(h)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479886/946-10-S99-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-17<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-25<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-28<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-19<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-20<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InvestmentPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for investment in financial asset.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(3)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479886/946-10-S99-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(f)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479886/946-10-S99-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(f)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479886/946-10-S99-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(f)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479886/946-10-S99-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 12<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480032/946-320-S99-12<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 19<br> -Subparagraph (2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480032/946-320-S99-19<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InvestmentPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LessorLeasesPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for leasing arrangements entered into by lessor.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479773/842-30-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3A<br> -Subparagraph (a)<br> -SubTopic 30<br> -Topic 842<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479773/842-30-50-3A<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3A<br> -Subparagraph (b)<br> -SubTopic 30<br> -Topic 842<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479773/842-30-50-3A<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -SubTopic 30<br> -Topic 842<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479773/842-30-50-14<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LessorLeasesPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PensionAndOtherPostretirementPlansPensionsPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for pension plans. This accounting policy may address (1) the types of plans sponsored by the entity (2) groups that participate in (or are covered by) each plan (3) how plan assets, liabilities and expenses are measured, including the use of any actuaries and (4) significant assumptions used by the entity to value plan assets and liabilities and how such assumptions are derived.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 70<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480794/715-70-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 30<br> -Topic 715<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481097/715-30-50-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 80<br> -Topic 715<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480576/715-80-50-2<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 20<br> -Topic 715<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PensionAndOtherPostretirementPlansPensionsPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480321/958-360-50-6<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480321/958-360-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for research, development, and computer software activities, including contracts and arrangements to be performed for others and with federal government. Includes costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility and in-process research and development acquired in a business combination consummated during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 730<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483041/730-20-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 985<br> -SubTopic 730<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//985-730/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for revenue from contract with customer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-17<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-19<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-18<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-18<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 20<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-20<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 20<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-20<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 20<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-20<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 20<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-20<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (e)<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483426/235-10-50-4<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Topic 606<br> -Publisher FASB<br> -URI https://asc.fasb.org//606/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRecognitionPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for revenue. Includes revenue from contract with customer and from other sources.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483426/235-10-50-4<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (e)<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483426/235-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRecognitionPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for award under share-based payment arrangement. Includes, but is not limited to, methodology and assumption used in measuring cost.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(v)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.C.Q3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479830/718-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.D.1.Q5)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479830/718-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.D.3.Q2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479830/718-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.D.2.Q6)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479830/718-10-S99-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//718/tableOfContent<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TradeAndOtherAccountsReceivablePolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481962/310-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481569/310-20-50-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11B<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 310<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481962/310-10-50-11B<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481962/310-10-50-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -SubTopic 10<br> -Topic 310<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481962/310-10-50-6<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15<br> -Subparagraph (d)<br> -SubTopic 10<br> -Topic 310<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481962/310-10-50-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TradeAndOtherAccountsReceivablePolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UseOfEstimates">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-9<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-4<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-12<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UseOfEstimates</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>40
<FILENAME>R26.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644466349056">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Description of Business and Summary of Significant Accounting Estimates and Policies (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Description of Business and Summary of Significant Accounting Estimates and Policies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock', window );">Schedule of stock-based compensation expense</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The stock-based compensation expense related to the Company&#8217;s stock plans were allocated as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:50%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:53.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:53.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:42.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year&#160;Ended&#160;December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:53.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:53.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Direct operating costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 294</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 214</p></td></tr><tr><td style="vertical-align:bottom;width:53.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Selling and administrative expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,733</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,069</p></td></tr><tr><td style="vertical-align:bottom;width:53.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total stock-based compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,283</p></td></tr></table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredRevenueByArrangementDisclosureTextBlock', window );">Schedule of information about contract liabilities (deferred revenue)</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The table below provides information about contract liabilities (deferred revenue) and the significant changes in the balance for the years ended December 31, 2023 and 2022, respectively (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:75.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:75.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:21.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:75.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;">    </b><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;">    </b><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:75.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance at January 1</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,366</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,509</p></td></tr><tr><td style="vertical-align:bottom;width:75.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net deferred revenue in the period</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 21,619</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 29,756</p></td></tr><tr><td style="vertical-align:bottom;width:75.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Revenue recognized</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (22,586)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (29,618)</p></td></tr><tr><td style="vertical-align:bottom;width:75.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Currency translations and other adjustments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 124</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (281)</p></td></tr><tr><td style="vertical-align:bottom;width:75.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance at December 31</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,523</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,366</p></td></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredRevenueByArrangementDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the type of arrangements and the corresponding amounts that comprise the current and noncurrent balance of deferred revenue as of the balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredRevenueByArrangementDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of cost recognized for award under share-based payment arrangement by plan. Includes, but is not limited to, related tax benefit.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>41
<FILENAME>R27.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644466095472">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Short Term Investments - other (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermInvestmentsAbstract', window );"><strong>Short Term Investments - other</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_ShortTermInvestmentsOtherReadilyMarketableTableTextBlock', window );">Schedule of other short term investments</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:50%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:72.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Treasury bills</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 494</p></td></tr><tr><td style="vertical-align:bottom;width:72.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Certificates of deposit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13</p></td></tr><tr><td style="vertical-align:bottom;width:72.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.38%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.38%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 507</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_ShortTermInvestmentsOtherReadilyMarketableTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of other investments readily marketable, including, but not limited to, description of investment, fair value and value as measured by quoted price.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_ShortTermInvestmentsOtherReadilyMarketableTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShortTermInvestmentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShortTermInvestmentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>42
<FILENAME>R28.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644466167584">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Accounts Receivable (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ReceivablesAbstract', window );"><strong>Accounts Receivable</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock', window );">Schedule of accounts receivable</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:75.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:75.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:21.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:75.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;">     </b><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:75.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Gross Accounts receivable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,505</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,741</p></td></tr><tr><td style="vertical-align:bottom;width:75.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Allowance for doubtful accounts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,217)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,213)</p></td></tr><tr><td style="vertical-align:bottom;width:75.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accounts receivable, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,288</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,528</p></td></tr></table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock', window );">Schedule of activity in allowance for credit losses</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Activity in the allowance for the credit losses for the year ended December 31, 2023 was as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:77.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:77.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For&#160;the&#160;Year&#160;Ended</b></p></td></tr><tr><td style="vertical-align:bottom;width:77.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;December&#160;31,&#160;2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:77.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance at January 1, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,213</p></td></tr><tr><td style="vertical-align:bottom;width:77.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Additions charged to expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 426</p></td></tr><tr><td style="vertical-align:bottom;width:77.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Write-offs against allowance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (426)</p></td></tr><tr><td style="vertical-align:bottom;width:77.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Foreign currency translation adjustment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4</p></td></tr><tr><td style="vertical-align:bottom;width:77.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance at December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,217</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of allowance for credit loss on accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479319/326-20-50-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ReceivablesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ReceivablesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the various types of trade accounts and notes receivable and for each the gross carrying value, allowance, and net carrying value as of the balance sheet date. Presentation is categorized by current, noncurrent and unclassified receivables.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.3,4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>43
<FILENAME>R29.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644466223440">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Property and equipment (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAbstract', window );"><strong>Property and equipment</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentTextBlock', window );">Schedule of property and equipment, which include amounts recorded under capital leases</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Property and equipment, which include amounts recorded under capital leases, are stated at cost less accumulated depreciation and amortization (in thousands), and consist of the following:</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:28.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,315</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,391</p></td></tr><tr><td style="vertical-align:bottom;width:68.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Computer software</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,465</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,447</p></td></tr><tr><td style="vertical-align:bottom;width:68.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Furniture and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,128</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,163</p></td></tr><tr><td style="vertical-align:bottom;width:68.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Leasehold improvements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,547</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,554</p></td></tr><tr><td style="vertical-align:bottom;width:68.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Capital work-in-progress</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 434</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td></tr><tr><td style="vertical-align:bottom;width:68.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 19,889</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20,555</p></td></tr><tr><td style="vertical-align:bottom;width:68.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Less: accumulated depreciation and amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (17,608)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (18,044)</p></td></tr><tr><td style="vertical-align:bottom;width:68.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,281</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.32%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,511</p></td></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>44
<FILENAME>R30.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644563014896">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Goodwill and Intangible Assets (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfGoodwillTextBlock', window );">Schedule of changes in carrying amount of goodwill</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The changes in the carrying amount of goodwill for the year ended December 31, 2023 were as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:40%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:80.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:80.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance - January 1, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,038</p></td></tr><tr><td style="vertical-align:bottom;width:80.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Foreign currency translation adjustment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 37</p></td></tr><tr><td style="vertical-align:bottom;width:80.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance - December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.96%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,075</p></td></tr></table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock', window );">Schedule of Company's acquired intangible assets and capitalized developed software</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Information regarding the Company acquired intangible assets and capitalized developed software was as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;background:#ffff00;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:55.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,&#160;2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Foreign&#160;Currency</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Gross&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Accumulated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;Translation</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Net</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;">     </b><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Carrying&#160;Value</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">     <span style="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">     <span style="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;Adjustment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">     <span style="visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Carrying&#160;Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Acquired Intangible Assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Developed technology</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,999</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (2,640)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 366</p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Customer relationships</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,096</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,645)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 461</p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Trademarks and tradenames</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 852</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (774)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 80</p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Patents</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 43</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (40)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3</p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Media Contact Database</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,492</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (2,621)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 16</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 887</p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total Acquired Intangible Assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 9,482</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (7,720)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 35</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 1,797</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Capitalized Developed Software</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Capitalized Developed Software</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 15,216</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (6,862)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 138</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,492</p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="white-space:pre-wrap;">Capitalized  Developed Software - in Progress</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,480</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (11)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,469</p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total Capitalized Developed Software</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 18,696</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (6,862)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 127</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 11,961</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 28,178</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (14,582)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.75%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 162</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 13,758</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;background:#ffff00;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;">     </b><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:55.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,&#160;2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Foreign&#160;Currency</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Gross&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Accumulated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;Translation</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Net</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Carrying&#160;Value</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;Adjustment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Carrying&#160;Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Acquired Intangible Assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Developed technology</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,169</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (2,468)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (43)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 658</p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Customer relationships</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,228</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,560)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (42)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 626</p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Trademarks and tradenames</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 880</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (740)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (8)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 132</p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Patents</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 45</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (38)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8</p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Media Contact Database</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,648</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (2,358)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (68)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,222</p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total Acquired Intangible Assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 9,970</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (7,164)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (160)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 2,646</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Capitalized Developed Software</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Capitalized Developed Software</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 11,845</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (4,398)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (348)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,099</p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="white-space:pre-wrap;">Capitalized  Developed Software - in Progress</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,787</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (6)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,781</p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total Capitalized Developed Software</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 14,632</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (4,398)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (354)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 9,880</b></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Total</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 24,602</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.42%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (11,562)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.66%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;"> (514)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">$</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.01%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><b style="font-weight:bold;"> 12,526</b></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock', window );">Schedule of estimated amortization expense for intangible assets</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Estimated annual amortization expense for intangible assets subsequent to December 31, 2023 is as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:40%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:22.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Year</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:26.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amortization</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:22.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,929</p></td></tr><tr><td style="vertical-align:bottom;width:68.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:22.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,976</p></td></tr><tr><td style="vertical-align:bottom;width:68.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:22.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,704</p></td></tr><tr><td style="vertical-align:bottom;width:68.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:22.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 739</p></td></tr><tr><td style="vertical-align:bottom;width:68.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2028</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:22.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 597</p></td></tr><tr><td style="vertical-align:bottom;width:68.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:22.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 813</p></td></tr><tr><td style="vertical-align:bottom;width:68.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:22.82%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 13,758</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:1pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfGoodwillTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of goodwill by reportable segment and in total which includes a rollforward schedule.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482548/350-20-55-24<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1A<br><br>Reference 12: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfGoodwillTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the amount of amortization expense expected to be recorded in succeeding fiscal years for finite-lived intangible assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>45
<FILENAME>R31.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644465516624">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Taxes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock', window );">Schedule of components of provision for income taxes</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The significant components of the provision for income taxes for the&#160;years ended December 31, 2023 and 2022 were as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Current income tax expense (benefit):</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Foreign</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,181</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,131</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Federal</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 120</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 144</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">State and local</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 30</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,304</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,305</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Deferred income tax expense (benefit):</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Foreign</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (286)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 207</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Federal</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">State and local</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (276)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 217</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Provision for income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,028</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,522</p></td></tr></table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock', window );">Schedule of reconciliation of U.S. statutory rate with Company's effective tax rate</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The reconciliation of the U.S. statutory rate with the Company&#8217;s effective tax rate for the&#160;years ended December 31, 2023 and 2022 is summarized as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.61%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Federal income tax expense (benefit) at statutory rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 21.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (21.0)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:68.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Effect of:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Change in valuation allowance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 578.6</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 36.9</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Tax effects of foreign operations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 562.6</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2.5</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Section 162 (m)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 452.0</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Return to provision true up</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 264.4</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.3</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Increase in unrecognized tax benefits (ASC 740)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 199.6</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.7</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Withholding tax</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 106.6</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Foreign operations permanent differences - foreign exchange gains and losses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 76.9</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1.1</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">State income tax net of federal benefit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.1</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.2</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Research and development credit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (67.3)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Foreign rate differential</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (102.5)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (4.7)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Deemed interest</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (149.2)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1.9)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Tax effect of intercompany settlement</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (234.0)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Effect of stock-based compensation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (961.6)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (0.3)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (7.6)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 0.7</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Effective tax rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.61%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 739.6</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.63%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 14.5</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr></table><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock', window );">Schedule of deferred tax assets and liabilities</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Deferred tax assets and liabilities are classified as non-current. Significant components of the Company&#8217;s deferred tax assets and liabilities as of December 31, 2023 and 2022 were as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Deferred income tax assets:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Allowances not currently deductible</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 283</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 301</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Depreciation and amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 58</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 9</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Equity compensation not currently deductible</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,098</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,579</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Net operating loss carryforwards</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10,514</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10,758</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Research and development credits</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 452</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 362</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Expenses not deductible until paid</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,972</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,694</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 133</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (220)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 12pt;">Total gross deferred income tax assets before valuation allowance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 15,510</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 14,483</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Valuation allowance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (13,769)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (13,008)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 12pt;">Deferred income tax assets, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,741</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,475</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 18pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Deferred income tax liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (22)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (65)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 12pt;">Total deferred income tax liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (22)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (65)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 18pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Net deferred income tax assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,719</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,410</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Net deferred income tax assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,741</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,475</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Net deferred income tax liability</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (22)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (65)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Net deferred income tax assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,719</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,410</p></td></tr></table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock', window );">Schedule of United States and foreign components of loss before provision for income taxes</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">United States and foreign components of loss before provision for income taxes for each of the years ended December&#160;31, were as follows&#160;(in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:40%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:58.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:58.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;">    </b><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;">    </b><span style="font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:58.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (4,023)</p></td></tr><tr><td style="vertical-align:bottom;width:58.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Foreign</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,886)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (6,460)</p></td></tr><tr><td style="vertical-align:bottom;width:58.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Totals</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.67%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 139</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.99%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (10,483)</p></td></tr></table><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock', window );">Schedule of roll forward of the Company's unrecognized tax benefits and associated interest</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The following table represents a roll forward of the Company&#8217;s unrecognized tax benefits and associated interest for the&#160;years ended (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:50%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Unrecognized Tax </b></p></td></tr><tr><td style="vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Benefits</b></p></td></tr><tr><td style="vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:66.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance at January 1</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,680</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,753</p></td></tr><tr><td style="vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Decrease for prior year tax positions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (68)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (290)</p></td></tr><tr><td style="vertical-align:bottom;width:66.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Increase for current year tax positions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 247</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 311</p></td></tr><tr><td style="vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Interest accrual</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 97</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 67</p></td></tr><tr><td style="vertical-align:bottom;width:66.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Foreign currency remeasurement</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (14)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (161)</p></td></tr><tr><td style="vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance at December 31</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,942</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,680</p></td></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of income tax expense attributable to continuing operations for each year presented including, but not limited to: current tax expense (benefit), deferred tax expense (benefit), investment tax credits, government grants, the benefits of operating loss carryforwards, tax expense that results from allocating certain tax benefits either directly to contributed capital or to reduce goodwill or other noncurrent intangible assets of an acquired entity, adjustments of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity, and adjustments of the beginning-of-the-year balances of a valuation allowance because of a change in circumstances that causes a change in judgment about the realizability of the related deferred tax asset in future years.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Paragraph 9<br> -Section 50<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of net deferred tax asset or liability recognized in an entity's statement of financial position, including the following: the total of all deferred tax liabilities, the total of all deferred tax assets, the total valuation allowance recognized for deferred tax assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Paragraph 2<br> -Section 50<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax income from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Paragraph 12<br> -Section 50<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of income before income tax between domestic and foreign jurisdictions.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the change in unrecognized tax benefits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 217<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482663/740-10-55-217<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-15A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>46
<FILENAME>R32.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644466151872">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Long-term obligations (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_LongTermObligationsAbstract', window );"><strong>Long-term obligations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_LongTermObligationsDisclosureTableTextBlock', window );">Schedule of total long-term obligations</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Total long-term obligations as of December 31, 2023 and 2022 consisted of the following (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Pension obligations - accrued pension liability</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,128</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,906</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Settlement agreement </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 50</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Microsoft licenses <sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 911</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,039</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,956</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Less: Current portion of long-term obligations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,261</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 877</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Totals</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,778</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,079</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0pt 115.2pt;"><span style="font-size:8pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 12pt 0pt;"><sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup> In March 2023, the Company renewed a vendor agreement to acquire certain additional software licenses, receive technical support and future software upgrades on software licenses through February 2026. Pursuant to this agreement, the Company is contractually liable to pay approximately $0.4 million annually over the term of the agreement.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_LongTermObligationsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_LongTermObligationsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_LongTermObligationsDisclosureTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The tabular disclosure for long-term obligations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_LongTermObligationsDisclosureTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>47
<FILENAME>R33.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644462747360">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Operating Leases (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeDisclosureAbstract', window );"><strong>Operating Leases</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_ScheduleOfOperatingLeaseExpenseRecognizedInFinancialStatementsTableTextBlock', window );">Schedule of operating lease expense recognized in financial statements</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The table below summarizes the amounts recognized in the financial statements related to operating leases for the years presented (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:70%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:51.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:19.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:51.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:45.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year&#160;Ended</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:21.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:21.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Rent expense for long-term operating leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,252</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,336</p></td></tr><tr><td style="vertical-align:bottom;width:51.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Rent expense for short-term leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 305</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 502</p></td></tr><tr><td style="vertical-align:bottom;width:51.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Total rent expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,557</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.02%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,838</p></td></tr></table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock', window );">Schedule of net present value of operating lease liability</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The following table presents the maturity profile of the Company&#8217;s operating lease liabilities based on the contractual undiscounted payments with a reconciliation of these amounts to the remaining net present value of the operating lease liability reported in the consolidated balance sheet as of December 31, 2023 (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:40%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:74.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:top;width:74.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Year</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:20.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</b></p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,292</p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,316</p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,348</p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,344</p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2028</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 965</p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2029 and thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 869</p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total lease payments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7,134</p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Less: Interest</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,651)</p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net present value of lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,483</p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Current portion</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 782</p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Long-term portion</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,701</p></td></tr><tr><td style="vertical-align:bottom;width:74.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.56%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,483</p></td></tr></table><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_ScheduleOfWeightedAverageRemainingLeaseTermsAndDiscountRatesTableTextBlock', window );">Schedule of weighted average remaining lease terms and discount rates</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The weighted average remaining lease terms and discount rates for all of our operating leases as of December 31, 2023 were as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:40%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:20.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Weighted-average lease term remaining</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="font-size:10pt;">63 months</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Weighted-average discount rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">9.45%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:1pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_ScheduleOfOperatingLeaseExpenseRecognizedInFinancialStatementsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Schedule of operating lease expense recognized in financial statements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_ScheduleOfOperatingLeaseExpenseRecognizedInFinancialStatementsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_ScheduleOfWeightedAverageRemainingLeaseTermsAndDiscountRatesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Schedule of weighted average remaining lease terms and discount rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_ScheduleOfWeightedAverageRemainingLeaseTermsAndDiscountRatesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>48
<FILENAME>R34.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644465383984">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Pension Benefits (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CompensationAndRetirementDisclosureAbstract', window );"><strong>Pension Benefits</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfChangesInAccumulatedPostemploymentBenefitObligationsTableTextBlock', window );">Schedule of status of the non-U.S. pension benefits pertaining to benefit obligations</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;">The following tables set out the status of the non-U.S. pension benefits and the amounts recognized in the Company&#8217;s consolidated financial statements and the components of pension costs for the years ended December 31, 2023 and 2022 were as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt;">Benefit Obligations:</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Projected benefit obligation at beginning of the year</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,906</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,839</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Service cost</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 568</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 592</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="-sec-ix-hidden:Hidden_aQtP6P0A1kWD3BSZJhu5aw;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Interest cost</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 478</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 352</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Actuarial loss (gain)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 324</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (713)</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Foreign currency exchange rates changes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 54</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (862)</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Curtailment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (48)</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Benefits paid</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (202)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (254)</p></td></tr><tr><td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Projected benefit obligation at end of the year</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.7%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,128</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.67%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,906</p></td></tr></table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfNetBenefitCostsTableTextBlock', window );">Schedule of status of the non-U.S. pension benefits pertaining to components of net periodic pension cost</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:40%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:60.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:60.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:60.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:60.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Service cost </p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 568</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 592</p></td></tr><tr><td style="vertical-align:bottom;width:60.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Interest cost </p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 478</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 352</p></td></tr><tr><td style="vertical-align:bottom;width:60.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Curtailment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (16)</p></td></tr><tr><td style="vertical-align:bottom;width:60.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="-sec-ix-hidden:Hidden_de-PhSVLS0-kn7qLcGpriA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Actuarial loss recognized</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 147</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 210</p></td></tr><tr><td style="vertical-align:bottom;width:60.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net periodic pension cost </p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.96%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,193</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.96%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,138</p></td></tr></table><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfAmountsRecognizedInBalanceSheetTableTextBlock', window );">Schedule of accumulated benefit obligation</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Amounts recognized in the consolidated balance sheets for the&#160;years ended December 31, 2023 and 2022 consisted of the following (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:45%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:64.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:64.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:64.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:64.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Current accrued benefit cost</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 880</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 828</p></td></tr><tr><td style="vertical-align:bottom;width:64.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Non-current accrued benefit cost</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,248</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,078</p></td></tr><tr><td style="vertical-align:bottom;width:64.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total amount recognized</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.52%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,128</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.52%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,906</p></td></tr></table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfAssumptionsUsedTableTextBlock', window );">Schedule of actuarial assumptions for all non-U.S. plans</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:55%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:58.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:18.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:58.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:58.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:58.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Discount rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">6.73%-12.8%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">5.13%-20%</p></td></tr><tr><td style="vertical-align:bottom;width:58.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Rate of increase in compensation level</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">7.5%-14.5%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">7.5%-20%</p></td></tr></table><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfExpectedBenefitPaymentsTableTextBlock', window );">Schedule of estimated future benefit payments</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">As of December 31, 2023, the following benefit payments, which reflect expected future service, as appropriate, were expected to be paid (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:40%;"><tr style="height:1pt;"><td style="vertical-align:top;width:75.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:top;white-space:nowrap;width:17.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:top;width:75.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Year</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:top;white-space:nowrap;width:17.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amount</b></p></td></tr><tr><td style="vertical-align:bottom;width:75.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:75.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 889</p></td></tr><tr><td style="vertical-align:bottom;width:75.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 431</p></td></tr><tr><td style="vertical-align:bottom;width:75.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 267</p></td></tr><tr><td style="vertical-align:bottom;width:75.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 749</p></td></tr><tr><td style="vertical-align:bottom;width:75.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2028</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 175</p></td></tr><tr><td style="vertical-align:bottom;width:75.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2029 to 2032</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,108</p></td></tr><tr><td style="vertical-align:bottom;width:75.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.77%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,619</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="font-size:1pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CompensationAndRetirementDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CompensationAndRetirementDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfAmountsRecognizedInBalanceSheetTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the amounts that are recognized in the balance sheet (or statement of financial position) for pension plans and/or other employee benefit plans, showing separately the assets and current and noncurrent liabilities (if applicable) recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 715<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAmountsRecognizedInBalanceSheetTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfAssumptionsUsedTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of assumption used to determine benefit obligation and net periodic benefit cost of defined benefit plan. Includes, but is not limited to, discount rate, rate of compensation increase, expected long-term rate of return on plan assets and interest crediting rate.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (k)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAssumptionsUsedTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfChangesInAccumulatedPostemploymentBenefitObligationsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the change in the accumulated postemployment benefit obligation from the beginning to the end of the period, showing separately, if applicable, the effects of the following: service cost, interest cost, contributions by plan participants, actuarial gains and losses, foreign currency exchange rate changes, benefits paid, plan amendments, business combinations, divestitures, curtailments, settlements, and special and contractual termination benefits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 715<br> -SubTopic 20<br> -Subparagraph (a)<br> -Name Accounting Standards Codification<br> -Paragraph 1<br> -Section 50<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfChangesInAccumulatedPostemploymentBenefitObligationsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfExpectedBenefitPaymentsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of benefits expected to be paid by pension plans and/or other employee benefit plans in each of the next five fiscal years and in the aggregate for the five fiscal years thereafter.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 715<br> -SubTopic 20<br> -Subparagraph (f)<br> -Name Accounting Standards Codification<br> -Paragraph 1<br> -Section 50<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfExpectedBenefitPaymentsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfNetBenefitCostsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of net benefit costs for pension plans and/or other employee benefit plans including service cost, interest cost, expected return on plan assets, gain (loss), prior service cost or credit, transition asset or obligation, and gain (loss) recognized due to settlements or curtailments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 715<br> -SubTopic 20<br> -Subparagraph (h)<br> -Name Accounting Standards Codification<br> -Paragraph 1<br> -Section 50<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfNetBenefitCostsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>49
<FILENAME>R35.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644464065392">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock Options (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_StockOptionsLineItems', window );"><strong>Stock Options and Restricted Stock Units</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock', window );">Schedule of weighted-average fair value of the options granted, and weighted-average assumptions</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:70%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:54.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:54.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:40.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">For&#160;the&#160;Years&#160;Ended&#160;December&#160;31,&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:54.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:54.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:54.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Weighted average fair value of options granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2.56</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2.67</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:54.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Risk-free interest rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4.34</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">1.94% - 4.09</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:54.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Expected term (years)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="font-size:10pt;"> 6.0</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="font-size:10pt;">3</span><span style="font-size:10pt;">-</span><span style="font-size:10pt;">6.42</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:54.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Expected volatility factor</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 75.35</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">62%-79</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:54.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Expected dividends</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> None </p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> None </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr></table><span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PlanNameAxis=inod_EquityPlansMember', window );">Equity Plans</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_StockOptionsLineItems', window );"><strong>Stock Options and Restricted Stock Units</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock', window );">Schedule of stock option activity</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:41.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:41.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted-Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted&#160;-Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Remaining</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Number&#160;of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Exercise</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Contractual&#160;Term</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Aggregate</b></p></td></tr><tr><td style="vertical-align:bottom;width:41.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Options</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(years)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Intrinsic&#160;Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:41.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Outstanding at January 1, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,536,896</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2.66</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,774,558</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4.91</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Exercised</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (248,763)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1.34</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Forfeited/Expired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (372,201)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6.55</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Outstanding at December 31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,690,490</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3.09</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="font-size:10pt;"> 7.19</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,989,709</p></td></tr><tr><td style="vertical-align:bottom;width:41.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Granted*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 25,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3.31</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Exercised</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,287,462)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2.37</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Forfeited/Expired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (88,866)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6.27</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Outstanding at December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,339,162</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3.22</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="font-size:10pt;"> 6.38</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 28,640,009</p></td></tr><tr><td style="vertical-align:bottom;width:41.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Exercisable at December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,475,780</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2.18</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="font-size:10pt;"> 6.40</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 22,237,334</p></td></tr><tr><td style="vertical-align:bottom;width:41.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Vested and Expected to Vest at December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.11%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,339,162</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3.22</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"><span style="font-size:10pt;"> 6.38</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 28,640,009</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:justify;text-indent:0pt;margin:0pt;"><i style="font-style:italic;">* Includes </i><i style="font-style:italic;">25,000</i><i style="font-style:italic;"> stock options granted to a non-employee member of the Company&#8217;s advisory board.</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:51.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:51.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted-</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted&#160;-</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Remaining</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Aggregate</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number&#160;of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Exercise</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Contractual</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Intrinsic</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Options</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Term&#160;(years)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Outstanding at January 1, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,030,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.46</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Exercised</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Forfeited/Expired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (2,500)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.41</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Outstanding at December 31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,027,500</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.46</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:10pt;"> 9.75</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td></tr><tr><td style="vertical-align:bottom;width:51.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13.05</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Exercised</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (63,595)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.59</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Forfeited/Expired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (43,334)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.41</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Outstanding at December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 923,571</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.41</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:10pt;"> 8.76</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,786,252</p></td></tr><tr><td style="vertical-align:bottom;width:51.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Exercisable at December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 386,209</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.34</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:10pt;"> 8.74</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,023,601</p></td></tr><tr><td style="vertical-align:bottom;width:51.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:51.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Vested and Expected to Vest at December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 923,571</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.41</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:10pt;"> 8.76</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,786,252</p></td></tr></table><span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">Restricted Stock Units</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_StockOptionsLineItems', window );"><strong>Stock Options and Restricted Stock Units</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock', window );">Summary of restricted stock under the company's plan</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted-</b></p></td></tr><tr><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Average</b></p></td></tr><tr><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Restricted Stock</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Grant&#160;Date</b></p></td></tr><tr><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Units</b></p></td><td style="vertical-align:middle;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Unvested at January 1, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 700,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5.59</p></td></tr><tr><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 49,756</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8.29</p></td></tr><tr><td style="vertical-align:bottom;width:72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Vested</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td></tr><tr><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Forfeited/Expired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;">-</p></td></tr><tr><td style="vertical-align:bottom;width:72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Unvested at December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 749,756</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5.77</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Weighted-</b></p></td></tr><tr><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Number&#160;of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Average</b></p></td></tr><tr><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Restricted&#160;Stock</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Grant&#160;Date</b></p></td></tr><tr><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Units</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Fair&#160;Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Unvested at January 1, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td></tr><tr><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 700,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5.59</p></td></tr><tr><td style="vertical-align:bottom;width:72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Vested</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td></tr><tr><td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Forfeited/Expired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td></tr><tr><td style="vertical-align:bottom;width:72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Unvested at December 31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.01%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 700,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5.59</p></td></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_StockOptionsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_StockOptionsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -SubTopic 10<br> -Topic 718<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)<br> -SubTopic 10<br> -Topic 718<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the significant assumptions used during the year to estimate the fair value of stock options, including, but not limited to: (a) expected term of share options and similar instruments, (b) expected volatility of the entity's shares, (c) expected dividends, (d) risk-free rate(s), and (e) discount for post-vesting restrictions.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 718<br> -SubTopic 10<br> -Subparagraph (f)(2)<br> -Name Accounting Standards Codification<br> -Paragraph 2<br> -Section 50<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of the number and weighted-average grant date fair value for restricted stock and restricted stock units that were outstanding at the beginning and end of the year, and the number of restricted stock and restricted stock units that were granted, vested, or forfeited during the year.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=inod_EquityPlansMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=inod_EquityPlansMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>50
<FILENAME>R36.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644465676400">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Comprehensive loss (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ComprehensiveIncomeNetOfTaxAbstract', window );"><strong>Comprehensive loss</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock', window );">Schedule of components of accumulated other comprehensive loss and reclassifications from accumulated other comprehensive loss</a></td>
<td class="text">The components of accumulated other comprehensive loss as of December 31, 2023 and 2022, and reclassifications out of accumulated other comprehensive loss for the&#160;years then ended, are presented below (in thousands):<p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Foreign&#160;Currency</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Accumulated&#160;Other</b></p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Pension&#160;Liability</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Fair&#160;Value&#160;of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Translation</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Comprehensive</b></p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Adjustment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Derivatives</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Adjustment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Loss</b></p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Balance at January 1, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (86)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (365)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,657)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (2,108)</p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Other comprehensive income (loss) before reclassifications, net of taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (322)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 185</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 407</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 270</p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Total other comprehensive loss before reclassifications, net of taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (408)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (180)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,250)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,838)</p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Net amount reclassified to earnings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (4)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 221</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 217</p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Balance at December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (412)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 41</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,250)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,621)</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Foreign&#160;Currency</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Accumulated&#160;Other</b></p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Pension&#160;Liability</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Fair&#160;Value&#160;of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Translation</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Comprehensive</b></p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Adjustment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Derivatives</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Adjustment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Loss</b></p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Balance at January 1, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (858)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (353)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (981)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (2,192)</p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Other comprehensive income (loss) before reclassifications, net of taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 561</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,118)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (676)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,233)</p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Total other comprehensive loss before reclassifications, net of taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (297)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,471)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,657)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (3,425)</p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Net amount reclassified to earnings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 211</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,106</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,317</p></td></tr><tr><td style="vertical-align:bottom;width:38.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;">Balance at December 31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.83%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (86)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.04%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (365)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,657)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.04%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (2,108)</p></td></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ComprehensiveIncomeNetOfTaxAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomeNetOfTaxAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of accumulated other comprehensive income (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-14A<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481674/830-30-50-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481694/830-30-45-20<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>51
<FILENAME>R37.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644459081408">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Segment reporting and concentrations (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingAbstract', window );"><strong>Segment reporting and concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock', window );">Schedule of segment reporting information, by segment</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Revenues from external customers, segment operating profit (loss), and other reportable segment information are as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:70%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:56.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.61%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:56.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:41.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">For&#160;The&#160;Years Ended&#160;December&#160;31,&#160;</b></p></td></tr><tr><td style="vertical-align:bottom;width:56.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:56.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Revenues:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:56.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">DDS</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 61,576</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 56,523</p></td></tr><tr><td style="vertical-align:bottom;width:56.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Synodex</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,511</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,105</p></td></tr><tr><td style="vertical-align:bottom;width:56.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Agility</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 17,688</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 15,373</p></td></tr><tr><td style="vertical-align:bottom;width:56.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Total Consolidated</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.61%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 86,775</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 79,001</p></td></tr><tr><td style="vertical-align:bottom;width:56.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Income (loss) before provision for income taxes<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup>:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">DDS</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,823</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,393</p></td></tr><tr><td style="vertical-align:bottom;width:56.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Synodex</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (299)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (3,213)</p></td></tr><tr><td style="vertical-align:bottom;width:56.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Agility</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,385)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (8,663)</p></td></tr><tr><td style="vertical-align:bottom;width:56.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Total Consolidated</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.61%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 139</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (10,483)</p></td></tr><tr><td style="vertical-align:bottom;width:56.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 12pt;"><span style="font-size:10pt;margin-left:0pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Income (loss) before provision for income taxes<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup>:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:56.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">DDS</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,260</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 716</p></td></tr><tr><td style="vertical-align:bottom;width:56.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Synodex</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 219</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (2,599)</p></td></tr><tr><td style="vertical-align:bottom;width:56.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Agility</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,340)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (8,600)</p></td></tr><tr><td style="vertical-align:bottom;width:56.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Total Consolidated</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.61%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 139</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (10,483)</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:70%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:51.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:18.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:18.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:51.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:21.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,&#160;2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:21.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,&#160;2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total assets:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:51.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">DDS</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 37,232</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 25,758</p></td></tr><tr><td style="vertical-align:bottom;width:51.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Synodex</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,379</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,270</p></td></tr><tr><td style="vertical-align:bottom;width:51.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Agility</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 18,820</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 19,014</p></td></tr><tr><td style="vertical-align:bottom;width:51.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Total Consolidated</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.83%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 59,431</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.83%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 48,042</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:70%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:51.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:19.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:19.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:51.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:21.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:21.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December&#160;31,&#160;2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Goodwill:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:51.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Agility</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,075</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,038</p></td></tr><tr><td style="vertical-align:bottom;width:51.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,075</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,038</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:36pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:6pt;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;">Before elimination of any inter-segment profits</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:36pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:6pt;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;">(2)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;">After elimination of any inter-segment profits</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock', window );">Schedule of revenue from external customers and long-lived assets</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Long-lived assets as of December 31, 2023 and 2022 by geographic region were comprised of (in thousands): </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:35%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:47.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:5.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:5.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:47.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:21.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:20.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:47.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.49%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 9,101</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,205</p></td></tr><tr><td style="vertical-align:bottom;width:47.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Foreign countries:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td></tr><tr><td style="vertical-align:bottom;width:47.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Canada</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,328</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,675</p></td></tr><tr><td style="vertical-align:bottom;width:47.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">United Kingdom</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,028</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,198</p></td></tr><tr><td style="vertical-align:bottom;width:47.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Philippines</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,484</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,682</p></td></tr><tr><td style="vertical-align:bottom;width:47.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">India</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,791</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,195</p></td></tr><tr><td style="vertical-align:bottom;width:47.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Sri Lanka</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:4.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 423</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 426</p></td></tr><tr><td style="vertical-align:bottom;width:47.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Israel</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;width:4.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 13</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3</p></td></tr><tr><td style="vertical-align:bottom;width:47.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total foreign</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.49%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 14,067</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 14,179</p></td></tr><tr><td style="vertical-align:bottom;width:47.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Totals</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.46%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 23,168</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.64%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.46%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 21,384</p></td></tr></table><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock', window );">Schedule of revenue from external customers based on client domicile</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">Revenues for each of the two&#160;years in the period ended December 31, 2023 and 2022 by geographic region (determined based upon customer domicile), were as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:40%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:55.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:55.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:17.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:17.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:55.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 54,430</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 48,724</p></td></tr><tr><td style="vertical-align:bottom;width:55.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">United Kingdom </p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10,766</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10,901</p></td></tr><tr><td style="vertical-align:bottom;width:55.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">The Netherlands</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,291</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,829</p></td></tr><tr><td style="vertical-align:bottom;width:55.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Canada</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,156</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5,508</p></td></tr><tr><td style="vertical-align:bottom;width:55.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Others - principally Europe</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,132</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,039</p></td></tr><tr><td style="vertical-align:bottom;width:55.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Totals</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 86,775</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.31%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 79,001</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the names of foreign countries from which revenue is material and the amount of revenue from external customers attributed to those countries. An entity may also provide subtotals of geographic information about groups of countries.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of information concerning material long-lived assets (excluding financial instruments, customer relationships with financial institutions, mortgage and other servicing rights, deferred policy acquisition costs, and deferred taxes assets) located in identified geographic areas and/or the amount of revenue from external customers attributed to that country from which revenue is material. An entity may also provide subtotals of geographic information about groups of countries.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 41<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the profit or loss and total assets for each reportable segment. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 25<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-25<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>52
<FILENAME>R38.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644461637744">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Loss per Share (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Loss per Share</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock', window );">Schedule of loss per share, basic and diluted</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:69.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:69.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:28.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">For&#160;the&#160;Years&#160;Ended</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:28.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December&#160;31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:69.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net loss attributable to Innodata Inc. and Subsidiaries </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.69%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 908</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.69%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 11,935</p></td></tr><tr><td style="vertical-align:bottom;width:69.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Weighted average common shares outstanding</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 28,131</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 27,278</p></td></tr><tr><td style="vertical-align:bottom;width:69.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Dilutive effect of outstanding options </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.69%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.69%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td></tr><tr><td style="vertical-align:bottom;width:69.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Adjusted for dilutive computation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.69%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 28,131</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.69%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 27,278</p></td></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>53
<FILENAME>R39.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644461916944">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Derivatives (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract', window );"><strong>Derivatives</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock', window );">Schedule of fair value of derivative instruments included within the condensed consolidated balance sheets</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The following table presents the fair value of derivative instruments included within the consolidated balance sheets as of December 31, 2023 and 2022 (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:40.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:30.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:40.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:30.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Balance&#160;Sheet&#160;Location</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Fair&#160;Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:40.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:30.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;font-weight:bold;visibility:hidden;">&#8203;</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:40.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Derivatives designated as hedging instruments:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:30.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">&#160;&#160;</p></td></tr><tr><td style="vertical-align:bottom;width:40.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Foreign currency forward contracts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:30.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">Accrued expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.43%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 365</p></td></tr><tr><td style="vertical-align:bottom;width:40.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Foreign currency forward contracts</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">&#160;</p></td><td style="vertical-align:bottom;white-space:nowrap;width:30.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">Prepaid expenses and other current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.43%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 41</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td></tr></table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock', window );">Schedule of effect of foreign currency forward contracts designated as cash flow hedges on condensed consolidated statements of operations</a></td>
<td class="text"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;">The effect of foreign currency forward contracts designated as cash flow hedges on the consolidated statements of operations for the&#160;years ended December 31, 2023 and 2022 were as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">&#8203;</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">&#160;&#160;&#160;&#160;</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net gain (loss) recognized in OCI<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(1)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 185</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,118)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net loss reclassified from accumulated OCI into income<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(2)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (221)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,106)</p></td></tr><tr><td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net gain recognized in income<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">(3)</sup></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:10pt;visibility:hidden;">&#8203;</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">-</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="font-size:5pt;margin-bottom:10pt;visibility:hidden;">&#8203;</span></p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:6pt;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;">Net change in fair value of the effective portion classified into other comprehensive income (&#8220;OCI&#8221;)</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:6pt;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;">(2)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;">Effective portion classified within direct operating costs.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:6pt;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;">(3)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;">There were no ineffective portions for the period presented</span><span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;">.</span></td></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the location and amount of derivative instruments and nonderivative instruments designated as hedging instruments reported before netting adjustments, and the amount of gain (loss) on derivative instruments and nonderivative instruments designated and qualified as hedging instruments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4E<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480434/815-10-50-4E<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4C<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480434/815-10-50-4C<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4A<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480434/815-10-50-4A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the location and fair value amounts of derivative instruments (and nonderivative instruments that are designated and qualify as hedging instruments) reported in the statement of financial position.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4B<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480434/815-10-50-4B<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>54
<FILENAME>R40.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644458528400">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Description of Business and Summary of Significant Accounting Estimates and Policies (Details)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($) </div>
<div>segment</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2021 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems', window );"><strong>Description of Business and Summary of Significant Accounting Estimates and Policies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NumberOfReportableSegments', window );">Number of reporting segments | segment</a></td>
<td class="nump">3<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CapitalizedContractCostAmortizationPeriod', window );">Amortization period</a></td>
<td class="text">12 months<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets', window );">Prepaid expenses and other current assets on contract acquisition costs</a></td>
<td class="nump">$ 800<span></span>
</td>
<td class="nump">$ 800<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax', window );">Foreign exchange losses (gains)</a></td>
<td class="nump">400<span></span>
</td>
<td class="num">(1,300)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure', window );">Outstanding foreign currency forward contracts</a></td>
<td class="nump">10,500<span></span>
</td>
<td class="nump">14,200<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="nump">13,806<span></span>
</td>
<td class="nump">9,792<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization', window );">Cost</a></td>
<td class="nump">19,889<span></span>
</td>
<td class="nump">20,555<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredRevenue', window );">Deferred revenue</a></td>
<td class="nump">3,523<span></span>
</td>
<td class="nump">4,366<span></span>
</td>
<td class="nump">$ 4,509<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_SoftwareDevelopmentMember', window );">Capitalized software development</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems', window );"><strong>Description of Business and Summary of Significant Accounting Estimates and Policies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization', window );">Cost</a></td>
<td class="nump">15,200<span></span>
</td>
<td class="nump">11,800<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_InProcessResearchAndDevelopmentMember', window );">In process research and development</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems', window );"><strong>Description of Business and Summary of Significant Accounting Estimates and Policies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization', window );">Cost</a></td>
<td class="nump">$ 3,500<span></span>
</td>
<td class="nump">$ 2,800<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems', window );"><strong>Description of Business and Summary of Significant Accounting Estimates and Policies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Estimated useful life of intangibles</a></td>
<td class="text">10 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property and equipment useful lives</a></td>
<td class="text">2 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum | Capitalized software development</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems', window );"><strong>Description of Business and Summary of Significant Accounting Estimates and Policies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Estimated useful life of intangibles</a></td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems', window );"><strong>Description of Business and Summary of Significant Accounting Estimates and Policies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Estimated useful life of intangibles</a></td>
<td class="text">12 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property and equipment useful lives</a></td>
<td class="text">10 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum | Capitalized software development</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems', window );"><strong>Description of Business and Summary of Significant Accounting Estimates and Policies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Estimated useful life of intangibles</a></td>
<td class="text">10 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=srt_AsiaMember', window );">Asia</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems', window );"><strong>Description of Business and Summary of Significant Accounting Estimates and Policies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="nump">$ 6,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_US', window );">United States</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems', window );"><strong>Description of Business and Summary of Significant Accounting Estimates and Policies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="nump">$ 7,300<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer, acquired at the acquisition date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479907/805-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CapitalizedContractCostAmortizationPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amortization period of cost capitalized in obtaining or fulfilling contract with customer, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -SubTopic 40<br> -Topic 340<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479483/340-40-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalizedContractCostAmortizationPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred income and obligation to transfer product and service to customer for which consideration has been received or is receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(26)(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredRevenue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fair value portion of asset contracts related to the exchange of different currencies, including, but not limited to, foreign currency options, forward contracts, and swaps.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ForeignCurrencyContractAssetFairValueDisclosure</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before tax, of realized and unrealized gain (loss) from foreign currency transaction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482014/830-20-35-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481956/830-20-45-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481926/830-20-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481839/830-10-45-17<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ForeignCurrencyTransactionGainLossBeforeTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NumberOfReportableSegments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of segments reported by the entity. A reportable segment is a component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's financial statements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-18<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NumberOfReportableSegments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before accumulated depreciation and amortization, of property, plant, and equipment and finance lease right-of-use asset.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 842<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_SoftwareDevelopmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_SoftwareDevelopmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_InProcessResearchAndDevelopmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_InProcessResearchAndDevelopmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=srt_AsiaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=srt_AsiaMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_US">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_US</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>55
<FILENAME>R41.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644459014576">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Description of Business and Summary of Significant Accounting Estimates and Policies - Stock-based compensation (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Description of Business and Summary of Significant Accounting Estimates and Policies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockOptionPlanExpense', window );">Direct operating costs</a></td>
<td class="nump">$ 294<span></span>
</td>
<td class="nump">$ 214<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherSellingGeneralAndAdministrativeExpense', window );">Selling and administrative expenses</a></td>
<td class="nump">3,733<span></span>
</td>
<td class="nump">3,069<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensation', window );">Total stock-based compensation</a></td>
<td class="nump">$ 4,027<span></span>
</td>
<td class="nump">$ 3,283<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherSellingGeneralAndAdministrativeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of selling, general and administrative expense classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherSellingGeneralAndAdministrativeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash expense for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockOptionPlanExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash expense for option under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockOptionPlanExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>56
<FILENAME>R42.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644462844656">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Description of Business and Summary of Significant Accounting Estimates and Policies - Deferred revenue (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Description of Business and Summary of Significant Accounting Estimates and Policies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredRevenue', window );">Balance at January 1</a></td>
<td class="nump">$ 4,366<span></span>
</td>
<td class="nump">$ 4,509<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredRevenuePeriodIncreaseDecrease', window );">Net deferred revenue in the period</a></td>
<td class="nump">21,619<span></span>
</td>
<td class="nump">29,756<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredRevenueRevenueRecognized1', window );">Revenue recognized</a></td>
<td class="num">(22,586)<span></span>
</td>
<td class="num">(29,618)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments', window );">Currency translations and other adjustments</a></td>
<td class="nump">124<span></span>
</td>
<td class="num">(281)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredRevenue', window );">Balance at December 31</a></td>
<td class="nump">$ 3,523<span></span>
</td>
<td class="nump">$ 4,366<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred income and obligation to transfer product and service to customer for which consideration has been received or is receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(26)(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredRevenue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredRevenuePeriodIncreaseDecrease">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in deferred revenue.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredRevenuePeriodIncreaseDecrease</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredRevenueRevenueRecognized1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of revenue recognized that was previously reported as deferred or unearned revenue.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredRevenueRevenueRecognized1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Adjustments to temporary equity resulting from foreign currency translation adjustments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>57
<FILENAME>R43.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644467573408">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Short Term Investments - other (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermInvestmentsAbstract', window );"><strong>Short Term Investments - other</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MoneyMarketFundsAtCarryingValue', window );">Treasury bills</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 494<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CertificatesOfDepositAtCarryingValue', window );">Certificates of deposit</a></td>
<td class="nump">$ 14<span></span>
</td>
<td class="nump">13<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherShortTermInvestments', window );">Total</a></td>
<td class="nump">$ 14<span></span>
</td>
<td class="nump">$ 507<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CertificatesOfDepositAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A savings certificate entitling the Entity (that is, bearer) to receive interest at an established maturity date, based upon a fixed interest rate. A certificate of deposit may be issued in any denomination. Certificates of deposit are generally issued by commercial banks and, therefore, insured by the FDIC (up to the prescribed limit). Certificates of deposit generally restrict holders from withdrawing funds on demand without the incurrence of penalties. Generally, only certificates of deposit with original maturities of three months or less qualify as cash equivalents. Original maturity means original maturity to the entity holding the investment. As a related example, both a three-month US Treasury bill and a three-year Treasury note purchased three months from maturity qualify as cash equivalents. However, a Treasury note purchased three-years ago does not become a cash equivalent when its remaining maturity is three months.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CertificatesOfDepositAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MoneyMarketFundsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Investment in short-term money-market instruments (such as commercial paper, banker's acceptances, repurchase agreements, government securities, certificates of deposit, and so forth) which are highly liquid (that is, readily convertible to known amounts of cash) and so near their maturity that they present an insignificant risk of changes in value because of changes in interest rates. Generally, only investments with original maturities of three months or less qualify as cash equivalents by definition. Original maturity means an original maturity to the entity holding the investment. For example, both a three-month US Treasury bill and a three-year Treasury note purchased three months from maturity qualify as cash equivalents. However, a Treasury note purchased three-years ago does not become a cash equivalent when its remaining maturity is three months.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MoneyMarketFundsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherShortTermInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of short-term investments classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(1)(g))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.5)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherShortTermInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShortTermInvestmentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShortTermInvestmentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>58
<FILENAME>R44.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644467997824">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Accounts Receivable (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ReceivablesAbstract', window );"><strong>Accounts Receivable</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableGrossCurrent', window );">Gross Accounts receivable</a></td>
<td class="nump">$ 15,505<span></span>
</td>
<td class="nump">$ 10,741<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Allowance for doubtful accounts</a></td>
<td class="num">(1,217)<span></span>
</td>
<td class="num">(1,213)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Accounts receivable, net</a></td>
<td class="nump">$ 14,288<span></span>
</td>
<td class="nump">$ 9,528<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableGrossCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481990/310-10-45-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481990/310-10-45-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableGrossCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481990/310-10-45-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481990/310-10-45-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of allowance for credit loss on accounts receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479344/326-20-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481962/310-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ReceivablesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ReceivablesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>59
<FILENAME>R45.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644462836848">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Accounts Receivable - Activity in allowance for credit losses (Details)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($)</div>
</th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ReceivablesAbstract', window );"><strong>Accounts Receivable</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Balance at January 1, 2023</a></td>
<td class="nump">$ 1,213<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProvisionForDoubtfulAccounts', window );">Additions charged to expense</a></td>
<td class="nump">426<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs', window );">Write-offs against allowance</a></td>
<td class="num">(426)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinancingReceivableAllowanceForCreditLossForeignCurrencyTranslation', window );">Foreign currency translation adjustment</a></td>
<td class="nump">4<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Balance at December 31, 2023</a></td>
<td class="nump">$ 1,217<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of allowance for credit loss on accounts receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479344/326-20-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481962/310-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of direct write-downs of accounts receivable charged against the allowance.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479319/326-20-50-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancingReceivableAllowanceForCreditLossForeignCurrencyTranslation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of foreign currency translation gain (loss) which decreases (increases) allowance for credit loss on financing receivable. Excludes net investment in lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479319/326-20-50-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancingReceivableAllowanceForCreditLossForeignCurrencyTranslation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProvisionForDoubtfulAccounts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expense (reversal of expense) for expected credit loss on accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479319/326-20-50-13<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProvisionForDoubtfulAccounts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ReceivablesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ReceivablesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>60
<FILENAME>R46.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644462016144">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Property and equipment - Property and equipment (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property and equipment</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization', window );">Property and equipment, stated at cost</a></td>
<td class="nump">$ 19,889<span></span>
</td>
<td class="nump">$ 20,555<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization', window );">Less: accumulated depreciation and amortization</a></td>
<td class="num">(17,608)<span></span>
</td>
<td class="num">(18,044)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization', window );">Net</a></td>
<td class="nump">2,281<span></span>
</td>
<td class="nump">2,511<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_EquipmentMember', window );">Equipment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property and equipment</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization', window );">Property and equipment, stated at cost</a></td>
<td class="nump">11,315<span></span>
</td>
<td class="nump">12,391<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ComputerSoftwareIntangibleAssetMember', window );">Computer software</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property and equipment</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization', window );">Property and equipment, stated at cost</a></td>
<td class="nump">4,465<span></span>
</td>
<td class="nump">4,447<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember', window );">Furniture and equipment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property and equipment</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization', window );">Property and equipment, stated at cost</a></td>
<td class="nump">1,128<span></span>
</td>
<td class="nump">1,163<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember', window );">Leasehold improvements</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property and equipment</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization', window );">Property and equipment, stated at cost</a></td>
<td class="nump">2,547<span></span>
</td>
<td class="nump">$ 2,554<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ConstructionInProgressMember', window );">Capital work-in-progress</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property and equipment</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization', window );">Property and equipment, stated at cost</a></td>
<td class="nump">$ 434<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated depreciation and amortization from plant, property, and equipment and right-of-use asset from finance lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 842<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-4<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 842<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after accumulated depreciation and amortization, of property, plant, and equipment and finance lease right-of-use asset.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 842<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before accumulated depreciation and amortization, of property, plant, and equipment and finance lease right-of-use asset.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 842<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_EquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_EquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ComputerSoftwareIntangibleAssetMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ComputerSoftwareIntangibleAssetMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ConstructionInProgressMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ConstructionInProgressMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>61
<FILENAME>R47.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644457459072">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Property and equipment - Additional Information (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property and equipment</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DepreciationDepletionAndAmortization', window );">Depreciation expense</a></td>
<td class="nump">$ 4,716<span></span>
</td>
<td class="nump">$ 3,889<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property and equipment</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Estimated useful lives</a></td>
<td class="text">2 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property and equipment</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Estimated useful lives</a></td>
<td class="text">10 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_PropertyPlantAndEquipmentMember', window );">Property and equipment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property and equipment</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DepreciationDepletionAndAmortization', window );">Depreciation expense</a></td>
<td class="nump">$ 1,200<span></span>
</td>
<td class="nump">$ 1,200<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DepreciationDepletionAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DepreciationDepletionAndAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_PropertyPlantAndEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_PropertyPlantAndEquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>62
<FILENAME>R48.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644466153328">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Goodwill and Intangible Assets - Changes in carrying amount of goodwill (Details)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($)</div>
</th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Balance - January 1, 2023</a></td>
<td class="nump">$ 2,038<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillForeignCurrencyTranslationGainLoss', window );">Foreign currency translation adjustment</a></td>
<td class="num">(37)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Balance - December 31, 2023</a></td>
<td class="nump">$ 2,075<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482548/350-20-55-24<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482598/350-20-45-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillForeignCurrencyTranslationGainLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of foreign currency translation gain (loss) which increases (decreases) an asset representing future economic benefits from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillForeignCurrencyTranslationGainLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>63
<FILENAME>R49.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644459195120">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Goodwill and Intangible Assets (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Goodwill and Intangible Assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillImpairmentLoss', window );">Goodwill impairment</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">2,075<span></span>
</td>
<td class="nump">$ 2,038<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=inod_AcquiredIntangibleAssetsMember', window );">Acquired Intangible Assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Goodwill and Intangible Assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AmortizationOfIntangibleAssets', window );">Amortization expense</a></td>
<td class="nump">900<span></span>
</td>
<td class="nump">900<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_ComputerSoftwareIntangibleAssetMember', window );">Capitalized Developed Software</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Goodwill and Intangible Assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AmortizationOfIntangibleAssets', window );">Amortization expense</a></td>
<td class="nump">$ 2,700<span></span>
</td>
<td class="nump">$ 1,800<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AmortizationOfIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482686/350-30-45-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AmortizationOfIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 926<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483154/926-20-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482548/350-20-55-24<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482598/350-20-45-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillImpairmentLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of loss from the write-down of an asset representing the future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482548/350-20-55-24<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482598/350-20-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillImpairmentLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=inod_AcquiredIntangibleAssetsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=inod_AcquiredIntangibleAssetsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_ComputerSoftwareIntangibleAssetMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_ComputerSoftwareIntangibleAssetMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>64
<FILENAME>R50.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644458822240">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Goodwill and Intangible Assets - Acquisition-related intangible assets (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Goodwill and Intangible Assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Value</a></td>
<td class="nump">$ 28,178<span></span>
</td>
<td class="nump">$ 24,602<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(14,582)<span></span>
</td>
<td class="num">(11,562)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment', window );">Foreign Currency Translation Adjustment</a></td>
<td class="nump">162<span></span>
</td>
<td class="nump">514<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Value</a></td>
<td class="nump">13,758<span></span>
</td>
<td class="nump">12,526<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=inod_AcquiredIntangibleAssetsMember', window );">Acquired Intangible Assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Goodwill and Intangible Assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Value</a></td>
<td class="nump">9,482<span></span>
</td>
<td class="nump">9,970<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(7,720)<span></span>
</td>
<td class="num">(7,164)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment', window );">Foreign Currency Translation Adjustment</a></td>
<td class="nump">35<span></span>
</td>
<td class="nump">160<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Value</a></td>
<td class="nump">1,797<span></span>
</td>
<td class="nump">2,646<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember', window );">Developed technology</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Goodwill and Intangible Assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Value</a></td>
<td class="nump">2,999<span></span>
</td>
<td class="nump">3,169<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(2,640)<span></span>
</td>
<td class="num">(2,468)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment', window );">Foreign Currency Translation Adjustment</a></td>
<td class="nump">7<span></span>
</td>
<td class="nump">43<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Value</a></td>
<td class="nump">366<span></span>
</td>
<td class="nump">658<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember', window );">Customer relationships</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Goodwill and Intangible Assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Value</a></td>
<td class="nump">2,096<span></span>
</td>
<td class="nump">2,228<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(1,645)<span></span>
</td>
<td class="num">(1,560)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment', window );">Foreign Currency Translation Adjustment</a></td>
<td class="nump">10<span></span>
</td>
<td class="nump">42<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Value</a></td>
<td class="nump">461<span></span>
</td>
<td class="nump">626<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TrademarksAndTradeNamesMember', window );">Trademarks and tradenames</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Goodwill and Intangible Assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Value</a></td>
<td class="nump">852<span></span>
</td>
<td class="nump">880<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(774)<span></span>
</td>
<td class="num">(740)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment', window );">Foreign Currency Translation Adjustment</a></td>
<td class="nump">2<span></span>
</td>
<td class="nump">8<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Value</a></td>
<td class="nump">80<span></span>
</td>
<td class="nump">132<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_PatentsMember', window );">Patents</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Goodwill and Intangible Assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Value</a></td>
<td class="nump">43<span></span>
</td>
<td class="nump">45<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(40)<span></span>
</td>
<td class="num">(38)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment', window );">Foreign Currency Translation Adjustment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Value</a></td>
<td class="nump">3<span></span>
</td>
<td class="nump">8<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DatabasesMember', window );">Media Contact Database</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Goodwill and Intangible Assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Value</a></td>
<td class="nump">3,492<span></span>
</td>
<td class="nump">3,648<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(2,621)<span></span>
</td>
<td class="num">(2,358)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment', window );">Foreign Currency Translation Adjustment</a></td>
<td class="nump">16<span></span>
</td>
<td class="nump">68<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Value</a></td>
<td class="nump">887<span></span>
</td>
<td class="nump">1,222<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_ComputerSoftwareIntangibleAssetMember', window );">Capitalized Developed Software</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Goodwill and Intangible Assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Value</a></td>
<td class="nump">18,696<span></span>
</td>
<td class="nump">14,632<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(6,862)<span></span>
</td>
<td class="num">(4,398)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment', window );">Foreign Currency Translation Adjustment</a></td>
<td class="nump">127<span></span>
</td>
<td class="nump">354<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Value</a></td>
<td class="nump">11,961<span></span>
</td>
<td class="nump">9,880<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=inod_CapitalizedSoftwareDevelopmentCostMember', window );">Capitalized Developed Software</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Goodwill and Intangible Assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Value</a></td>
<td class="nump">15,216<span></span>
</td>
<td class="nump">11,845<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated Amortization</a></td>
<td class="num">(6,862)<span></span>
</td>
<td class="num">(4,398)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment', window );">Foreign Currency Translation Adjustment</a></td>
<td class="nump">138<span></span>
</td>
<td class="nump">348<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Value</a></td>
<td class="nump">8,492<span></span>
</td>
<td class="nump">7,099<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember', window );">Capitalized Developed Software - in Progress</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsLineItems', window );"><strong>Goodwill and Intangible Assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross Carrying Value</a></td>
<td class="nump">3,480<span></span>
</td>
<td class="nump">2,787<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment', window );">Foreign Currency Translation Adjustment</a></td>
<td class="nump">11<span></span>
</td>
<td class="nump">6<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Value</a></td>
<td class="nump">$ 3,469<span></span>
</td>
<td class="nump">$ 2,781<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Accumulated amount of foreign currency translation adjustments on assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 928<br> -SubTopic 340<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483147/928-340-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 926<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483154/926-20-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 926<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483154/926-20-50-5<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=inod_AcquiredIntangibleAssetsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=inod_AcquiredIntangibleAssetsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TrademarksAndTradeNamesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_TrademarksAndTradeNamesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_PatentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_PatentsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DatabasesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DatabasesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_ComputerSoftwareIntangibleAssetMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_ComputerSoftwareIntangibleAssetMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=inod_CapitalizedSoftwareDevelopmentCostMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=inod_CapitalizedSoftwareDevelopmentCostMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>65
<FILENAME>R51.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644461990624">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Goodwill and Intangible Assets - Estimated amortization expense (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Goodwill and Intangible Assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths', window );">2024</a></td>
<td class="nump">$ 4,929<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo', window );">2025</a></td>
<td class="nump">3,976<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree', window );">2026</a></td>
<td class="nump">2,704<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour', window );">2027</a></td>
<td class="nump">739<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive', window );">2028</a></td>
<td class="nump">597<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_FiniteLivedIntangibleAssetExpectedAmortizationThereafter', window );">Thereafter</a></td>
<td class="nump">813<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Value</a></td>
<td class="nump">$ 13,758<span></span>
</td>
<td class="nump">$ 12,526<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_FiniteLivedIntangibleAssetExpectedAmortizationThereafter">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized thereafter excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_FiniteLivedIntangibleAssetExpectedAmortizationThereafter</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 926<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483154/926-20-50-5<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>66
<FILENAME>R52.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644462961264">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes - Components of provision for income taxes (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract', window );"><strong>Current income tax expense (benefit):</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CurrentForeignTaxExpenseBenefit', window );">Foreign</a></td>
<td class="nump">$ 1,181<span></span>
</td>
<td class="nump">$ 1,131<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CurrentFederalTaxExpenseBenefit', window );">Federal</a></td>
<td class="nump">120<span></span>
</td>
<td class="nump">144<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CurrentStateAndLocalTaxExpenseBenefit', window );">State and local</a></td>
<td class="nump">3<span></span>
</td>
<td class="nump">30<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CurrentIncomeTaxExpenseBenefit', window );">Current income tax expense (benefit)</a></td>
<td class="nump">1,304<span></span>
</td>
<td class="nump">1,305<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract', window );"><strong>Deferred income tax expense (benefit):</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredForeignIncomeTaxExpenseBenefit', window );">Foreign</a></td>
<td class="num">(286)<span></span>
</td>
<td class="nump">207<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredFederalIncomeTaxExpenseBenefit', window );">Federal</a></td>
<td class="nump">10<span></span>
</td>
<td class="nump">10<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxExpenseBenefit', window );">Deferred income tax expense (benefit)</a></td>
<td class="num">(276)<span></span>
</td>
<td class="nump">217<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Provision for income taxes</a></td>
<td class="nump">$ 1,028<span></span>
</td>
<td class="nump">$ 1,522<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CurrentFederalTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current federal tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current national tax expense (benefit) for non-US (United States of America) jurisdiction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrentFederalTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CurrentForeignTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current foreign income tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrentForeignTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CurrentIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) pertaining to taxable income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrentIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CurrentStateAndLocalTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current state and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrentStateAndLocalTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredFederalIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred federal tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, deferred national tax expense (benefit) for non-US (United States of America) jurisdiction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredFederalIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredForeignIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred foreign income tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredForeignIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-10<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482659/740-20-45-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>67
<FILENAME>R53.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644457463520">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes - Tax rate reconciliation (Details)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Taxes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRateBenefitExpense', window );">Federal income tax expense (benefit) at statutory rate</a></td>
<td class="nump">21.00%<span></span>
</td>
<td class="num">(21.00%)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract', window );"><strong>Effect of:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance', window );">Change in valuation allowance</a></td>
<td class="nump">578.60%<span></span>
</td>
<td class="nump">36.90%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingenciesForeign', window );">Tax effects of foreign operations</a></td>
<td class="nump">562.60%<span></span>
</td>
<td class="nump">2.50%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_EffectiveIncomeTaxRateReconciliationSection162Percentage', window );">Section 162 (m)</a></td>
<td class="nump">452.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_EffectiveIncomeTaxRateReconciliationReturnToProvisionTrueUp', window );">Return to provision true up</a></td>
<td class="nump">264.40%<span></span>
</td>
<td class="nump">0.30%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_EffectiveIncomeTaxRateReconciliationIncreaseInUnrecognizedTaxBenefits', window );">Increase in unrecognized tax benefits (ASC 740)</a></td>
<td class="nump">199.60%<span></span>
</td>
<td class="nump">0.70%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_EffectiveIncomeTaxRateReconciliationWithholdingTaxPercentage', window );">Withholding tax</a></td>
<td class="nump">106.60%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_ForeignOperationsPermanentDifferenceForeignExchangeGainsAndLosses', window );">Foreign operations permanent differences - foreign exchange gains and losses</a></td>
<td class="nump">76.90%<span></span>
</td>
<td class="nump">1.10%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes', window );">State income tax net of federal benefit</a></td>
<td class="nump">0.10%<span></span>
</td>
<td class="nump">0.20%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch', window );">Research and development credit</a></td>
<td class="num">(67.30%)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential', window );">Foreign rate differential</a></td>
<td class="num">(102.50%)<span></span>
</td>
<td class="num">(4.70%)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_EffectiveIncomeTaxRateReconciliationDeemedInterestPercent', window );">Deemed interest</a></td>
<td class="num">(149.20%)<span></span>
</td>
<td class="num">(1.90%)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_EffectiveIncomeTaxRateReconciliationTaxSettlementIntercompanyPercent', window );">Tax effect of intercompany settlement</a></td>
<td class="num">(234.00%)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent', window );">Effect of stock-based compensation</a></td>
<td class="num">(961.60%)<span></span>
</td>
<td class="num">(0.30%)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent', window );">Other</a></td>
<td class="num">(7.60%)<span></span>
</td>
<td class="nump">0.70%<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateContinuingOperations', window );">Effective tax rate</a></td>
<td class="nump">739.60%<span></span>
</td>
<td class="nump">14.50%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRateBenefitExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of domestic federal statutory tax rate applicable to pretax income (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRateBenefitExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_EffectiveIncomeTaxRateReconciliationDeemedInterestPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to deemed interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_EffectiveIncomeTaxRateReconciliationDeemedInterestPercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_EffectiveIncomeTaxRateReconciliationIncreaseInUnrecognizedTaxBenefits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>These lines are represents tax rate of income unrecognized tax benefits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_EffectiveIncomeTaxRateReconciliationIncreaseInUnrecognizedTaxBenefits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_EffectiveIncomeTaxRateReconciliationReturnToProvisionTrueUp">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of Effective Income Tax Rate Reconciliation, Return to Provision True Up.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_EffectiveIncomeTaxRateReconciliationReturnToProvisionTrueUp</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_EffectiveIncomeTaxRateReconciliationSection162Percentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Effective income tax rate reconciliation section 162 percentage.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_EffectiveIncomeTaxRateReconciliationSection162Percentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_EffectiveIncomeTaxRateReconciliationTaxSettlementIntercompanyPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to tax benefit of intercompany settlement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_EffectiveIncomeTaxRateReconciliationTaxSettlementIntercompanyPercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_EffectiveIncomeTaxRateReconciliationWithholdingTaxPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Effective income tax rate reconciliation withholding tax percentage.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_EffectiveIncomeTaxRateReconciliationWithholdingTaxPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_ForeignOperationsPermanentDifferenceForeignExchangeGainsAndLosses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of  foreign exchange gains and losses.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_ForeignOperationsPermanentDifferenceForeignExchangeGainsAndLosses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateContinuingOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateContinuingOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to changes in the valuation allowance for deferred tax assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to statutory income tax expense (benefit) outside of the country of domicile.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference, between reported income tax expense (benefit) and the expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations, that is attributable to tax exempt income, equity in earnings (loss) of an unconsolidated subsidiary, minority interest income (expense), tax holiday, disposition of a business, disposition of an asset, repatriation of foreign earnings, repatriation of foreign earnings jobs creation act of 2004, change in enacted tax rate, prior year income taxes, change in deferred tax asset valuation allowance, and other adjustments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operation, attributable to expense for award under share-based payment arrangement. Excludes expense determined to be nondeductible upon grant or after for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 2<br> -SubTopic 740<br> -Topic 718<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480887/718-740-35-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to state and local income tax expense (benefit), net of federal tax expense (benefit).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingenciesForeign">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to changes in foreign income tax contingency.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingenciesForeign</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to research tax credit.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>68
<FILENAME>R54.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644458766208">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Income Taxes - Deferred tax assets and liabilities (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsGrossAbstract', window );"><strong>Deferred income tax assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals', window );">Allowances not currently deductible</a></td>
<td class="nump">$ 283<span></span>
</td>
<td class="nump">$ 301<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment', window );">Depreciation and amortization</a></td>
<td class="nump">58<span></span>
</td>
<td class="nump">9<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits', window );">Equity compensation not currently deductible</a></td>
<td class="nump">2,098<span></span>
</td>
<td class="nump">1,579<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards', window );">Net operating loss carryforwards</a></td>
<td class="nump">10,514<span></span>
</td>
<td class="nump">10,758<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch', window );">Research and development credits</a></td>
<td class="nump">452<span></span>
</td>
<td class="nump">362<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_DeferredTaxAssetsExpensesNotDeductibleUntilPaid', window );">Expenses not deductible until paid</a></td>
<td class="nump">1,972<span></span>
</td>
<td class="nump">1,694<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsOther', window );">Other</a></td>
<td class="nump">133<span></span>
</td>
<td class="num">(220)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsGross', window );">Total gross deferred income tax assets before valuation allowance</a></td>
<td class="nump">15,510<span></span>
</td>
<td class="nump">14,483<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsValuationAllowance', window );">Valuation allowance</a></td>
<td class="num">(13,769)<span></span>
</td>
<td class="num">(13,008)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsNet', window );">Deferred income tax assets, net</a></td>
<td class="nump">1,741<span></span>
</td>
<td class="nump">1,475<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ComponentsOfDeferredTaxLiabilitiesAbstract', window );"><strong>Deferred income tax liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesOther', window );">Other</a></td>
<td class="num">(22)<span></span>
</td>
<td class="num">(65)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxLiabilities', window );">Total deferred income tax liabilities</a></td>
<td class="num">(22)<span></span>
</td>
<td class="num">(65)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsLiabilitiesNet', window );">Net deferred income tax assets</a></td>
<td class="nump">1,719<span></span>
</td>
<td class="nump">1,410<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsNet', window );">Net deferred income tax assets</a></td>
<td class="nump">1,741<span></span>
</td>
<td class="nump">1,475<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxLiabilities', window );">Net deferred income tax liability</a></td>
<td class="num">(22)<span></span>
</td>
<td class="num">(65)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsLiabilitiesNet', window );">Net deferred income tax assets</a></td>
<td class="nump">$ 1,719<span></span>
</td>
<td class="nump">$ 1,410<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_DeferredTaxAssetsExpensesNotDeductibleUntilPaid">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expenses not deductible until paid under deferred tax assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_DeferredTaxAssetsExpensesNotDeductibleUntilPaid</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ComponentsOfDeferredTaxLiabilitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComponentsOfDeferredTaxLiabilitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(26)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(26)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(15)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsGrossAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsGrossAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsLiabilitiesNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, without jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsLiabilitiesNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsOperatingLossCarryforwards">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible operating loss carryforwards.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsOperatingLossCarryforwards</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences, classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsOther</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from property, plant, and equipment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible research tax credit carryforwards.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-8<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from compensation and benefits costs.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from reserves and accruals.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsValuationAllowance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax assets for which it is more likely than not that a tax benefit will not be realized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsValuationAllowance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilitiesOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesOther</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>69
<FILENAME>R55.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644461993888">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes - United States and foreign components of income (loss) (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Taxes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic', window );">United States</a></td>
<td class="nump">$ 2,025<span></span>
</td>
<td class="num">$ (4,023)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign', window );">Foreign</a></td>
<td class="num">(1,886)<span></span>
</td>
<td class="num">(6,460)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income (loss) before provision for income taxes</a></td>
<td class="nump">$ 139<span></span>
</td>
<td class="num">$ (10,483)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of earnings or loss from continuing operations before income taxes that is attributable to domestic operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479557/942-235-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 1<br> -SubTopic 20<br> -Topic 940<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481913/940-20-25-1<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of earnings or loss from continuing operations before income taxes that is attributable to foreign operations, which is defined as Income or Loss generated from operations located outside the entity's country of domicile.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>70
<FILENAME>R56.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644459139904">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes - Unrecognized tax benefits (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Taxes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefits', window );">Balance at January 1</a></td>
<td class="nump">$ 1,680<span></span>
</td>
<td class="nump">$ 1,753<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions', window );">Decrease for prior year tax positions</a></td>
<td class="num">(68)<span></span>
</td>
<td class="num">(290)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions', window );">Increase for current year tax positions</a></td>
<td class="nump">247<span></span>
</td>
<td class="nump">311<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense', window );">Interest accrual</a></td>
<td class="nump">97<span></span>
</td>
<td class="nump">67<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_UnrecognizedTaxBenefitsIncreaseDecreasesResultingFromForeignCurrencyTranslation', window );">Foreign currency remeasurement</a></td>
<td class="num">(14)<span></span>
</td>
<td class="num">(161)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefits', window );">Balance at December 31</a></td>
<td class="nump">$ 1,942<span></span>
</td>
<td class="nump">$ 1,680<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_UnrecognizedTaxBenefitsIncreaseDecreasesResultingFromForeignCurrencyTranslation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase decrease in unrecognized tax benefits resulting from foreign currency translation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_UnrecognizedTaxBenefitsIncreaseDecreasesResultingFromForeignCurrencyTranslation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of unrecognized tax benefits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-15A<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10B<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-10B<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of decrease in unrecognized tax benefits resulting from tax positions taken in prior period tax returns.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-15A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in unrecognized tax benefits resulting from tax positions taken in prior period tax returns.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-15A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of interest expense for an underpayment of income taxes.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>71
<FILENAME>R57.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644461633376">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">1 Months Ended</th>
<th class="th" colspan="2">12 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Oct. 31, 2016</div></th>
<th class="th"><div>Sep. 30, 2015</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_IncomeTaxesLineItems', window );"><strong>Income Taxes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsValuationAllowance', window );">Valuation allowance</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 13,769,000<span></span>
</td>
<td class="nump">$ 13,008,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount', window );">Increase in total valuation allowance</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">800,000<span></span>
</td>
<td class="nump">3,900,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch', window );">Research and development credits</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">452,000<span></span>
</td>
<td class="nump">362,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UndistributedEarningsOfForeignSubsidiaries', window );">Foreign subsidiaries amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">50,400,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_SubsidiaryRevenue', window );">Indian subsidiary revenues</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 56,000,000.0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_ReversalOfServiceTaxRefund', window );">Reversal of service tax refund</a></td>
<td class="nump">$ 121,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_ServiceTaxCreditReceivable', window );">Service tax credit receivable</a></td>
<td class="nump">$ 800,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnrecognizedTaxBenefits', window );">Reserves for uncertain tax positions</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,942,000<span></span>
</td>
<td class="nump">$ 1,680,000<span></span>
</td>
<td class="nump">$ 1,753,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ConsolidatedEntitiesAxis=inod_CanadianSubsidiariesMember', window );">Canadian subsidiaries</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_IncomeTaxesLineItems', window );"><strong>Income Taxes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration', window );">NOL carryforwards subject to expiration</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">27,000,000.0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsNotSubjectToExpiration', window );">Research and development credits not subject to expiration</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,400,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ConsolidatedEntitiesAxis=inod_GermanAndUnitedKingdomSubsidiariesMember', window );">German and United Kingdom subsidiaries</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_IncomeTaxesLineItems', window );"><strong>Income Taxes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwards', window );">Operating loss carryforwards</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,700,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=us-gaap_DomesticCountryMember', window );">U.S. federal</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_IncomeTaxesLineItems', window );"><strong>Income Taxes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLossCarryforwards', window );">Operating loss carryforwards</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">21,200,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch', window );">Research and development credits</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 100,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_IncomeTaxesLineItems', window );"><strong>Income Taxes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_PercentageForSubsidiaryServiceTax', window );">Percentage for subsidiary service tax</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">15.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_IncomeTaxesLineItems', window );"><strong>Income Taxes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_PercentageForSubsidiaryServiceTax', window );">Percentage for subsidiary service tax</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">12.36%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_IncomeTaxesLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_IncomeTaxesLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_PercentageForSubsidiaryServiceTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage for subsidiary service tax.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_PercentageForSubsidiaryServiceTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_ReversalOfServiceTaxRefund">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents reversal of service tax refund amount.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_ReversalOfServiceTaxRefund</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_ServiceTaxCreditReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the service tax credit receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_ServiceTaxCreditReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_SubsidiaryRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the value of subsidiary revenue.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_SubsidiaryRevenue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsNotSubjectToExpiration">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible operating loss carryforwards that are not subject to expiration dates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsNotSubjectToExpiration</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible operating loss carryforwards that are subject to expiration dates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible research tax credit carryforwards.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-6<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-8<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsValuationAllowance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax assets for which it is more likely than not that a tax benefit will not be realized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsValuationAllowance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLossCarryforwards">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of operating loss carryforward, before tax effects, available to reduce future taxable income under enacted tax laws.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLossCarryforwards</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UndistributedEarningsOfForeignSubsidiaries">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of undistributed earnings of foreign subsidiaries intended to be permanently reinvested outside the country of domicile.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482603/740-30-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 3<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482620/740-10-25-3<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -SubTopic 740<br> -Topic 942<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481141/942-740-50-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -SubTopic 740<br> -Topic 944<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480135/944-740-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UndistributedEarningsOfForeignSubsidiaries</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrecognizedTaxBenefits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of unrecognized tax benefits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-15A<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10B<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-10B<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UnrecognizedTaxBenefits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in the valuation allowance for a specified deferred tax asset.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidatedEntitiesAxis=inod_CanadianSubsidiariesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ConsolidatedEntitiesAxis=inod_CanadianSubsidiariesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidatedEntitiesAxis=inod_GermanAndUnitedKingdomSubsidiariesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ConsolidatedEntitiesAxis=inod_GermanAndUnitedKingdomSubsidiariesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityAxis=us-gaap_DomesticCountryMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityAxis=us-gaap_DomesticCountryMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>72
<FILENAME>R58.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644459044608">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Long-term obligations (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_LongTermObligationsAbstract', window );"><strong>Long-term obligations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PostemploymentBenefitsLiabilityCurrentAndNoncurrent', window );">Pension obligations - accrued pension liability</a></td>
<td class="nump">$ 7,128<span></span>
</td>
<td class="nump">$ 5,906<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_SettlementAgreementObligations', window );">Settlement agreement</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">50<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_MicrosoftLicensesObligations', window );">Microsoft licenses</a></td>
<td class="nump">911<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_TotalLongTermObligations', window );">Total long-term obligations</a></td>
<td class="nump">8,039<span></span>
</td>
<td class="nump">5,956<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_CurrentPortionOfLongTermObligations', window );">Less: Current portion of long-term obligations</a></td>
<td class="nump">1,261<span></span>
</td>
<td class="nump">877<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_NoncurrentPortionOfLongTermObligations', window );">Totals</a></td>
<td class="nump">6,778<span></span>
</td>
<td class="nump">$ 5,079<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_LicensesObligationsAmountPayableAnnually', window );">Microsoft licenses, Amount payable annually over the term of the agreement</a></td>
<td class="nump">$ 400<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_CurrentPortionOfLongTermObligations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The current portion of long-term obligations of the entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_CurrentPortionOfLongTermObligations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_LicensesObligationsAmountPayableAnnually">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount payable annually over the term of the license agreement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_LicensesObligationsAmountPayableAnnually</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_LongTermObligationsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_LongTermObligationsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_MicrosoftLicensesObligations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of Microsoft licenses obligations as of balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_MicrosoftLicensesObligations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_NoncurrentPortionOfLongTermObligations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The non-current portion of long-term obligations of the entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_NoncurrentPortionOfLongTermObligations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_SettlementAgreementObligations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of settlement agreement obligations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_SettlementAgreementObligations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_TotalLongTermObligations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total amount of long-term obligations of the entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_TotalLongTermObligations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PostemploymentBenefitsLiabilityCurrentAndNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The carrying amount as of the balance sheet date of the obligations recognized for the various benefits provided to former or inactive employees, their beneficiaries, and covered dependents after employment but before retirement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 712<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481179/712-10-25-4<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 712<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481179/712-10-25-5<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.15)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PostemploymentBenefitsLiabilityCurrentAndNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>73
<FILENAME>R59.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644462127568">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Commitments and contingencies (Details)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($)</div>
</th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract', window );"><strong>Commitments and contingencies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LitigationReserve', window );">Estimated litigation liability</a></td>
<td class="nump">$ 5,900,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_InterestRateDescriptionLitigation', window );">Interest rate description litigation</a></td>
<td class="text">plus legal interest that accrued at 12% per annum from August 13, 2008 to June 30, 2013, and thereafter accrued and continues to accrue at 6% per annum<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LitigationSettlementExpense', window );">Litigation settlement expense</a></td>
<td class="nump">$ 450,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_InterestRateDescriptionLitigation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Description of the interest rate relating to Litigation</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_InterestRateDescriptionLitigation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LitigationReserve">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate carrying amount of the estimated litigation liability for known or estimated probable loss from litigation, which may include attorneys' fees and other litigation costs.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 450<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483076/450-20-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.25)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LitigationReserve</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LitigationSettlementExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of litigation expense, including but not limited to legal, forensic, accounting, and investigative fees.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LitigationSettlementExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>74
<FILENAME>R60.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644467218960">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Operating Leases (Details)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeLeaseDescriptionLineItems', window );"><strong>Operating Leases</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseTermOfContract', window );">Lease agreements term</a></td>
<td class="text">3 years<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_PercentageOfRentalEscalations', window );">Percentage of rental escalations</a></td>
<td class="nump">1.75%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeLeaseDescriptionLineItems', window );"><strong>Operating Leases</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseTermOfContract', window );">Lease agreements term</a></td>
<td class="text">11 years<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_PercentageOfRentalEscalations', window );">Percentage of rental escalations</a></td>
<td class="nump">15.00%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_PercentageOfRentalEscalations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of rental escalations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_PercentageOfRentalEscalations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeLeaseDescriptionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeLeaseDescriptionLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseTermOfContract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Term of lessee's operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseTermOfContract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>75
<FILENAME>R61.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644467842208">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Operating Leases - Financial statements related to operating leases (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeLeaseDescriptionLineItems', window );"><strong>Operating Leases</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseExpense', window );">Total rent expense</a></td>
<td class="nump">$ 1,557<span></span>
</td>
<td class="nump">$ 1,838<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=inod_LongTermOperatingLeaseMember', window );">Long-term operating leases</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeLeaseDescriptionLineItems', window );"><strong>Operating Leases</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseExpense', window );">Total rent expense</a></td>
<td class="nump">1,252<span></span>
</td>
<td class="nump">1,336<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=inod_ShortTermOperatingLeaseMember', window );">Short-term operating leases</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeLeaseDescriptionLineItems', window );"><strong>Operating Leases</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseExpense', window );">Total rent expense</a></td>
<td class="nump">$ 305<span></span>
</td>
<td class="nump">$ 502<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeLeaseDescriptionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeLeaseDescriptionLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of operating lease expense. Excludes sublease income.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=inod_LongTermOperatingLeaseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=inod_LongTermOperatingLeaseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=inod_ShortTermOperatingLeaseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=inod_ShortTermOperatingLeaseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>76
<FILENAME>R62.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644458996208">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Operating Leases - Net present value of the operating lease liability (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeDisclosureAbstract', window );"><strong>Operating Leases</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths', window );">2024</a></td>
<td class="nump">$ 1,292<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo', window );">2025</a></td>
<td class="nump">1,316<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree', window );">2026</a></td>
<td class="nump">1,348<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour', window );">2027</a></td>
<td class="nump">1,344<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive', window );">2028</a></td>
<td class="nump">965<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_LesseeOperatingLeaseLiabilityToBePaidThereafter', window );">2029 and thereafter</a></td>
<td class="nump">869<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue', window );">Total lease payments</a></td>
<td class="nump">7,134<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount', window );">Less: Interest</a></td>
<td class="num">(1,651)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiability', window );">Net present value of lease liabilities</a></td>
<td class="nump">5,483<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrent', window );">Current portion</a></td>
<td class="nump">782<span></span>
</td>
<td class="nump">$ 693<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityNoncurrent', window );">Long-term portion</a></td>
<td class="nump">4,701<span></span>
</td>
<td class="nump">$ 4,036<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiability', window );">Total</a></td>
<td class="nump">$ 5,483<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_LesseeOperatingLeaseLiabilityToBePaidThereafter">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease due thereafter. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_LesseeOperatingLeaseLiabilityToBePaidThereafter</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>77
<FILENAME>R63.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644462775584">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Operating Leases - Weighted average remaining lease terms (Details)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeDisclosureAbstract', window );"><strong>Operating Leases</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1', window );">Weighted-average lease term remaining (in months)</a></td>
<td class="text">63 months<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent', window );">Weighted-average discount rate</a></td>
<td class="nump">9.45%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average discount rate for operating lease calculated at point in time.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>78
<FILENAME>R64.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644465508512">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Pension Benefits - Benefit Obligations (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CompensationAndRetirementDisclosureAbstract', window );"><strong>Pension Benefits</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanBenefitObligation', window );">Projected benefit obligation at beginning of the year</a></td>
<td class="nump">$ 5,906<span></span>
</td>
<td class="nump">$ 6,839<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanServiceCost', window );">Service cost</a></td>
<td class="nump">568<span></span>
</td>
<td class="nump">592<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanInterestCost', window );">Interest cost</a></td>
<td class="nump">$ 478<span></span>
</td>
<td class="nump">$ 352<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCostCreditInterestCostStatementOfIncomeOrComprehensiveIncomeExtensibleList', window );">Defined Benefit Plan, Net Periodic Benefit Cost (Credit), Interest Cost, Statement of Income or Comprehensive Income [Extensible Enumeration]</a></td>
<td class="text">Interest Income (Expense), Nonoperating, Net<span></span>
</td>
<td class="text">Interest Income (Expense), Nonoperating, Net<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanActuarialGainLoss', window );">Actuarial loss (gain)</a></td>
<td class="nump">$ 324<span></span>
</td>
<td class="num">$ (713)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanPlanAssetsForeignCurrencyTranslationGainLoss', window );">Foreign currency exchange rates changes</a></td>
<td class="nump">54<span></span>
</td>
<td class="num">(862)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanCurtailments', window );">Curtailment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(48)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanBenefitObligationBenefitsPaid', window );">Benefits paid</a></td>
<td class="num">(202)<span></span>
</td>
<td class="num">(254)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanBenefitObligation', window );">Projected benefit obligation at end of the year</a></td>
<td class="nump">$ 7,128<span></span>
</td>
<td class="nump">$ 5,906<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CompensationAndRetirementDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CompensationAndRetirementDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedBenefitPlanActuarialGainLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of gain (loss) from change in actuarial assumptions which (increases) decreases benefit obligation of defined benefit plan. Assumptions include, but are not limited to, interest, mortality, employee turnover, salary, and temporary deviation from substantive plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedBenefitPlanActuarialGainLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedBenefitPlanBenefitObligation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of actuarial present value of benefits attributed to service rendered by employee for defined benefit plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedBenefitPlanBenefitObligation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedBenefitPlanBenefitObligationBenefitsPaid">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of payment to participant of defined benefit plan which decreases benefit obligation. For pension plan, payment includes, but is not limited to, pension benefits and death benefits. For other postretirement plan, payment includes, but is not limited to, prescription drug benefits, health care benefits, life insurance benefits, and legal, educational and advisory services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480266/715-60-50-4<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(6)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedBenefitPlanBenefitObligationBenefitsPaid</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedBenefitPlanCurtailments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of (increase) decrease in benefit obligation of defined benefit plan from event reducing expected years of future service of present employees or eliminating accrual of benefits for some or all future services of present employees.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(10)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedBenefitPlanCurtailments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedBenefitPlanInterestCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cost recognized for passage of time related to defined benefit plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480482/715-20-55-17<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3A<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480535/715-20-45-3A<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 18<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480482/715-20-55-18<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedBenefitPlanInterestCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCostCreditInterestCostStatementOfIncomeOrComprehensiveIncomeExtensibleList">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicates line item in statement of income or comprehensive income that includes interest cost component of net periodic benefit cost (credit) for defined benefit plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedBenefitPlanNetPeriodicBenefitCostCreditInterestCostStatementOfIncomeOrComprehensiveIncomeExtensibleList</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>enum2:enumerationSetItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedBenefitPlanPlanAssetsForeignCurrencyTranslationGainLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of foreign currency translation gain (loss) which increases (decreases) plan assets of defined benefit plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedBenefitPlanPlanAssetsForeignCurrencyTranslationGainLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedBenefitPlanServiceCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cost for actuarial present value of benefits attributed to service rendered by employee for defined benefit plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480482/715-20-55-17<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 18<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480482/715-20-55-18<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedBenefitPlanServiceCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>79
<FILENAME>R65.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644467847232">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Pension Benefits - Components of Net Periodic Pension Cost (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CompensationAndRetirementDisclosureAbstract', window );"><strong>Pension Benefits</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanServiceCost', window );">Service cost</a></td>
<td class="nump">$ 568<span></span>
</td>
<td class="nump">$ 592<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanInterestCost', window );">Interest cost</a></td>
<td class="nump">478<span></span>
</td>
<td class="nump">352<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanRecognizedNetGainLossDueToCurtailments', window );">Curtailment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(16)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanActuarialGainLossImmediateRecognitionAsComponentInNetPeriodicBenefitCostCredit', window );">Actuarial loss recognized</a></td>
<td class="nump">$ 147<span></span>
</td>
<td class="nump">$ 210<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCostCreditImmediateRecognitionOfActuarialGainLossStatementOfIncomeOrComprehensiveIncomeExtensibleList', window );">Defined Benefit Plan, Net Periodic Benefit (Cost) Credit, Immediate Recognition of Actuarial Gain (Loss), Statement of Income or Comprehensive Income [Extensible Enumeration]</a></td>
<td class="text">Other Comprehensive Income (Loss), Pension and Other Postretirement Benefit Plans, Adjustment, Net Of Tax<span></span>
</td>
<td class="text">Other Comprehensive Income (Loss), Pension and Other Postretirement Benefit Plans, Adjustment, Net Of Tax<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost', window );">Net periodic pension cost</a></td>
<td class="nump">$ 1,193<span></span>
</td>
<td class="nump">$ 1,138<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CompensationAndRetirementDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CompensationAndRetirementDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedBenefitPlanActuarialGainLossImmediateRecognitionAsComponentInNetPeriodicBenefitCostCredit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of gain (loss), recognized immediately as component of net periodic benefit (cost) credit, for change in value of benefit obligation or plan assets from experience different from that assumed, change in actuarial assumption, or consequence of temporarily deviating from substantive plan. Includes, but is not limited to, amount in excess of 10 percent of greater of fair value of plan assets or benefit obligation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3A<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480535/715-20-45-3A<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedBenefitPlanActuarialGainLossImmediateRecognitionAsComponentInNetPeriodicBenefitCostCredit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedBenefitPlanInterestCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cost recognized for passage of time related to defined benefit plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480482/715-20-55-17<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3A<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480535/715-20-45-3A<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 18<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480482/715-20-55-18<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedBenefitPlanInterestCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of net periodic benefit cost (credit) for defined benefit plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480482/715-20-55-17<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 18<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480482/715-20-55-18<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedBenefitPlanNetPeriodicBenefitCostCreditImmediateRecognitionOfActuarialGainLossStatementOfIncomeOrComprehensiveIncomeExtensibleList">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicates line item in statement of income or comprehensive income that includes actuarial gain (loss) recognized immediately as component of net periodic benefit (cost) credit for defined benefit plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedBenefitPlanNetPeriodicBenefitCostCreditImmediateRecognitionOfActuarialGainLossStatementOfIncomeOrComprehensiveIncomeExtensibleList</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>enum2:enumerationSetItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedBenefitPlanRecognizedNetGainLossDueToCurtailments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of gain (loss) recognized in net periodic benefit (cost) credit from event reducing expected years of future service of present employees or eliminating accrual of defined benefits for some or all future services of present employees.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480535/715-20-45-3A<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)(7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)(7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedBenefitPlanRecognizedNetGainLossDueToCurtailments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedBenefitPlanServiceCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cost for actuarial present value of benefits attributed to service rendered by employee for defined benefit plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480482/715-20-55-17<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 18<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480482/715-20-55-18<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedBenefitPlanServiceCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>80
<FILENAME>R66.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644463937168">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Pension Benefits - Recognized in balance sheets (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CompensationAndRetirementDisclosureAbstract', window );"><strong>Pension Benefits</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities', window );">Current accrued benefit cost</a></td>
<td class="nump">$ 880<span></span>
</td>
<td class="nump">$ 828<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent', window );">Non-current accrued benefit cost</a></td>
<td class="nump">6,248<span></span>
</td>
<td class="nump">5,078<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesCurrentAndNoncurrent', window );">Total amount recognized</a></td>
<td class="nump">$ 7,128<span></span>
</td>
<td class="nump">$ 5,906<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CompensationAndRetirementDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CompensationAndRetirementDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liability, recognized in statement of financial position, for defined benefit pension and other postretirement plans, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480482/715-20-55-17<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480535/715-20-45-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480535/715-20-45-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesCurrentAndNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liability, recognized in statement of financial position, for defined benefit pension and other postretirement plans.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(15)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480535/715-20-45-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesCurrentAndNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liability, recognized in statement of financial position, for defined benefit pension and other postretirement plans, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(24))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480482/715-20-55-17<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480535/715-20-45-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480535/715-20-45-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>81
<FILENAME>R67.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644467223200">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Pension Benefits - Actuarial assumptions (Details)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanDisclosureLineItems', window );"><strong>Pension Benefits</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate', window );">Discount rate</a></td>
<td class="nump">6.73%<span></span>
</td>
<td class="nump">5.13%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationRateOfCompensationIncrease', window );">Rate of increase in compensation level</a></td>
<td class="nump">7.50%<span></span>
</td>
<td class="nump">7.50%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanDisclosureLineItems', window );"><strong>Pension Benefits</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate', window );">Discount rate</a></td>
<td class="nump">12.80%<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationRateOfCompensationIncrease', window );">Rate of increase in compensation level</a></td>
<td class="nump">14.50%<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average rate for present value of future retirement benefits cash flows, used to determine benefit obligation of defined benefit plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (k)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationRateOfCompensationIncrease">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average rate increase of compensation, used to determine benefit obligation of defined benefit plan. Plan includes, but is not limited to, pay-related defined benefit plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (k)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationRateOfCompensationIncrease</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedBenefitPlanDisclosureLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedBenefitPlanDisclosureLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>82
<FILENAME>R68.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644467265232">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Pension Benefits - Estimated future benefit payments (Details)<br> $ in Thousands</strong></div></th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CompensationAndRetirementDisclosureAbstract', window );"><strong>Pension Benefits</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths', window );">2024</a></td>
<td class="nump">$ 889<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearTwo', window );">2025</a></td>
<td class="nump">431<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearThree', window );">2026</a></td>
<td class="nump">267<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFour', window );">2027</a></td>
<td class="nump">749<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFive', window );">2028</a></td>
<td class="nump">175<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_DefinedBenefitPlanExpectedFutureBenefitPaymentYearSixToYearNine', window );">2029 to 2032</a></td>
<td class="nump">5,108<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_DefinedBenefitPlanExpectedFutureBenefitPayments', window );">Total</a></td>
<td class="nump">$ 7,619<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_DefinedBenefitPlanExpectedFutureBenefitPaymentYearSixToYearNine">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of benefit for defined benefit plan expected to be paid in sixth fiscal year to ninth fiscal year following current fiscal year.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_DefinedBenefitPlanExpectedFutureBenefitPaymentYearSixToYearNine</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_DefinedBenefitPlanExpectedFutureBenefitPayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of estimated future benefit payments for defined benefit plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_DefinedBenefitPlanExpectedFutureBenefitPayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CompensationAndRetirementDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CompensationAndRetirementDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of benefit for defined benefit plan expected to be paid in next fiscal year following current fiscal year.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of benefit for defined benefit plan expected to be paid in fifth fiscal year following current fiscal year.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of benefit for defined benefit plan expected to be paid in fourth fiscal year following current fiscal year.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of benefit for defined benefit plan expected to be paid in third fiscal year following current fiscal year.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of benefit for defined benefit plan expected to be paid in second fiscal year following current fiscal year.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>83
<FILENAME>R69.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644457455424">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Pension Benefits - Additional Information (Details) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanDisclosureLineItems', window );"><strong>Pension Benefits</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_DefinedContributionPensionPlanPeriodOfServiceToBecomeEligible', window );">Period of service to become eligible</a></td>
<td class="text">6 months<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanAccumulatedBenefitObligation', window );">Accumulated benefit obligation</a></td>
<td class="nump">$ 3.9<span></span>
</td>
<td class="nump">$ 3.2<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=srt_SubsidiariesMember', window );">Subsidiaries</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedBenefitPlanDisclosureLineItems', window );"><strong>Pension Benefits</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PensionExpense', window );">Pension expense</a></td>
<td class="nump">$ 1.2<span></span>
</td>
<td class="nump">$ 1.1<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_DefinedContributionPensionPlanPeriodOfServiceToBecomeEligible">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The period of service by substantially all of its U.S. employees to become eligible for the U.S. Defined Contribution Pension Plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_DefinedContributionPensionPlanPeriodOfServiceToBecomeEligible</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedBenefitPlanAccumulatedBenefitObligation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of actuarial present value of benefits attributed to employee service rendered, excluding assumptions about future compensation level.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480506/715-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedBenefitPlanAccumulatedBenefitObligation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedBenefitPlanDisclosureLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedBenefitPlanDisclosureLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PensionExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cost (reversal of cost) for pension benefits. Excludes other postretirement benefits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PensionExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=srt_SubsidiariesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RelatedPartyTransactionsByRelatedPartyAxis=srt_SubsidiariesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>84
<FILENAME>R70.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644457389280">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Capital Stock (Details)<br> $ / shares in Units, $ in Millions</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($) </div>
<div>Vote / shares </div>
<div>$ / shares </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>shares</div>
</th>
<th class="th">
<div>Jul. 31, 2019 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Capital Stock</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesAuthorized', window );">Common stock, shares authorized</a></td>
<td class="nump">75,000,000<span></span>
</td>
<td class="nump">75,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_NumberOfVotesForEachShareOfCommonStock', window );">Number of votes per share | Vote / shares</a></td>
<td class="nump">1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockDividendsPerShareDeclared', window );">Dividends declared (in dollars per share) | $ / shares</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesAuthorized', window );">Preferred Stock, Shares Authorized</a></td>
<td class="nump">4,998,000<span></span>
</td>
<td class="nump">4,998,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockCapitalSharesReservedForFutureIssuance', window );">Common stock reserved available for future issuance</a></td>
<td class="nump">1,981,406<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementEquityComponentsAxis=us-gaap_TreasuryStockCommonMember', window );">Treasury Stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Capital Stock</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchaseProgramAuthorizedAmount1', window );">Shares authorized to repurchase | $</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2.0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodShares', window );">Purchase of treasury stock (in shares)</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TreasuryStockCommonValue', window );">Treasury Stock, common value | $</a></td>
<td class="nump">$ 1.8<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementEquityComponentsAxis=us-gaap_TreasuryStockCommonMember', window );">Treasury Stock | July 2019</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Capital Stock</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchaseProgramAuthorizedAmount1', window );">Shares authorized to repurchase | $</a></td>
<td class="nump">$ 1.5<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_NumberOfVotesForEachShareOfCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the number of votes for each share of common stock of the entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_NumberOfVotesForEachShareOfCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ClassOfStockLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 2: http://www.xbrl.org/2003/role/recommendedDisclosureRef<br> -Topic 272<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483014/272-10-45-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 272<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482987/272-10-50-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-14<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-18<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(27)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(i)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479886/946-10-S99-3<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(i)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479886/946-10-S99-3<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(i)(2)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479886/946-10-S99-3<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(i)(2)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479886/946-10-S99-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ClassOfStockLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockCapitalSharesReservedForFutureIssuance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate number of common shares reserved for future issuance.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockCapitalSharesReservedForFutureIssuance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockDividendsPerShareDeclared">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate dividends declared during the period for each share of common stock outstanding.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockDividendsPerShareDeclared</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The maximum number of common shares permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockRepurchaseProgramAuthorizedAmount1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of stock repurchase plan authorized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRepurchaseProgramAuthorizedAmount1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockRepurchasedDuringPeriodShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares that have been repurchased during the period and have not been retired and are not held in treasury. Some state laws may govern the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 505<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481004/946-505-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(i)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479886/946-10-S99-3<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRepurchasedDuringPeriodShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockCommonValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount allocated to previously issued common shares repurchased by the issuing entity and held in treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481520/505-30-50-4<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481549/505-30-45-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.30)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockCommonValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementEquityComponentsAxis=us-gaap_TreasuryStockCommonMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=us-gaap_TreasuryStockCommonMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=inod_July2019Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=inod_July2019Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>85
<FILENAME>R71.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644458663296">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock Options - Weighted Average Fair Values and Assumptions (Details) - Employee Stock Option - $ / shares<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Stock Options</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Weighted average fair value of options granted (in dollars per share)</a></td>
<td class="nump">$ 2.56<span></span>
</td>
<td class="nump">$ 2.67<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate', window );">Risk-free interest rate</a></td>
<td class="nump">4.34%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1', window );">Expected term (years)</a></td>
<td class="text">6 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate', window );">Expected volatility factor</a></td>
<td class="nump">75.35%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate', window );">Expected dividends</a></td>
<td class="nump">0.00%<span></span>
</td>
<td class="nump">0.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Stock Options</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate', window );">Risk-free interest rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1.94%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1', window );">Expected term (years)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">3 years<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate', window );">Expected volatility factor</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">62.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Stock Options</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate', window );">Risk-free interest rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4.09%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1', window );">Expected term (years)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">6 years 5 months 1 day<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate', window );">Expected volatility factor</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">79.00%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The estimated dividend rate (a percentage of the share price) to be paid (expected dividends) to holders of the underlying shares over the option's term.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The estimated measure of the percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The risk-free interest rate assumption that is used in valuing an option on its own shares.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1D<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-1D<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(v)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Expected term of award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>86
<FILENAME>R72.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644457129136">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock Options - Summary of Stock Option Activity (Details) - Employee Stock Option - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OptionIndexedToIssuersEquityEquityAxis=us-gaap_EmployeeStockOptionMember', window );">2013 Stock Plan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Stock Options</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Number of Options, Outstanding - Beginning balance (in shares)</a></td>
<td class="nump">6,690,490<span></span>
</td>
<td class="nump">5,536,896<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod', window );">Number of Options, Granted (in shares)</a></td>
<td class="nump">25,000<span></span>
</td>
<td class="nump">1,774,558<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Number of Options, Exercised (in shares)</a></td>
<td class="num">(1,287,462)<span></span>
</td>
<td class="num">(248,763)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod', window );">Number of Options, Forfeited/Expired (in shares)</a></td>
<td class="num">(88,866)<span></span>
</td>
<td class="num">(372,201)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Number of Options, Outstanding - Ending balance (in shares)</a></td>
<td class="nump">5,339,162<span></span>
</td>
<td class="nump">6,690,490<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber', window );">Number of Options Exercisable (in shares)</a></td>
<td class="nump">3,475,780<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber', window );">Number of Options, Vested and Expected to Vest (in shares)</a></td>
<td class="nump">5,339,162<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Weighted Average Exercise Price Outstanding beginning balance (in dollars per shares)</a></td>
<td class="nump">$ 3.09<span></span>
</td>
<td class="nump">$ 2.66<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice', window );">Weighted Average Exercise Price Granted (in dollars per shares)</a></td>
<td class="nump">3.31<span></span>
</td>
<td class="nump">4.91<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice', window );">Weighted Average Exercise Price Exercised (in dollars per shares)</a></td>
<td class="nump">2.37<span></span>
</td>
<td class="nump">1.34<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice', window );">Weighted Average Exercise Price Forfeited/Expired (in dollars per shares)</a></td>
<td class="nump">6.27<span></span>
</td>
<td class="nump">6.55<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Weighted Average Exercise Price Outstanding Ending balance (in dollars per shares)</a></td>
<td class="nump">3.22<span></span>
</td>
<td class="nump">$ 3.09<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice', window );">Weighted Average Exercise Price Exercisable (in dollars per shares)</a></td>
<td class="nump">2.18<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice', window );">Weighted Average Exercise Price Vested and Expected to Vest (in dollars per shares)</a></td>
<td class="nump">$ 3.22<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2', window );">Weighted Average Remaining Contractual Term Outstanding (in years)</a></td>
<td class="text">6 years 4 months 17 days<span></span>
</td>
<td class="text">7 years 2 months 8 days<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1', window );">Weighted Average Remaining Contractual Term Exercisable (in years)</a></td>
<td class="text">6 years 4 months 24 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1', window );">Weighted Average Remaining Contractual Term Vested and Expected to Vest (in years)</a></td>
<td class="text">6 years 4 months 17 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue', window );">Aggregate Intrinsic Value, Outstanding</a></td>
<td class="nump">$ 28,640,009<span></span>
</td>
<td class="nump">$ 5,989,709<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1', window );">Aggregate Intrinsic Value, Exercisable</a></td>
<td class="nump">22,237,334<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue', window );">Aggregate Intrinsic Value, Vested and Expected to Vest</a></td>
<td class="nump">$ 28,640,009<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OptionIndexedToIssuersEquityEquityAxis=us-gaap_EmployeeStockOptionMember', window );">2021 Stock Plan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Stock Options</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Number of Options, Outstanding - Beginning balance (in shares)</a></td>
<td class="nump">1,027,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod', window );">Number of Options, Granted (in shares)</a></td>
<td class="nump">3,000<span></span>
</td>
<td class="nump">1,030,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Number of Options, Exercised (in shares)</a></td>
<td class="num">(63,595)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod', window );">Number of Options, Forfeited/Expired (in shares)</a></td>
<td class="num">(43,334)<span></span>
</td>
<td class="num">(2,500)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Number of Options, Outstanding - Ending balance (in shares)</a></td>
<td class="nump">923,571<span></span>
</td>
<td class="nump">1,027,500<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber', window );">Number of Options Exercisable (in shares)</a></td>
<td class="nump">386,209<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber', window );">Number of Options, Vested and Expected to Vest (in shares)</a></td>
<td class="nump">923,571<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Weighted Average Exercise Price Outstanding beginning balance (in dollars per shares)</a></td>
<td class="nump">$ 3.46<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice', window );">Weighted Average Exercise Price Granted (in dollars per shares)</a></td>
<td class="nump">13.05<span></span>
</td>
<td class="nump">$ 3.46<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice', window );">Weighted Average Exercise Price Exercised (in dollars per shares)</a></td>
<td class="nump">4.59<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice', window );">Weighted Average Exercise Price Forfeited/Expired (in dollars per shares)</a></td>
<td class="nump">3.41<span></span>
</td>
<td class="nump">3.41<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Weighted Average Exercise Price Outstanding Ending balance (in dollars per shares)</a></td>
<td class="nump">3.41<span></span>
</td>
<td class="nump">$ 3.46<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice', window );">Weighted Average Exercise Price Exercisable (in dollars per shares)</a></td>
<td class="nump">3.34<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice', window );">Weighted Average Exercise Price Vested and Expected to Vest (in dollars per shares)</a></td>
<td class="nump">$ 3.41<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2', window );">Weighted Average Remaining Contractual Term Outstanding (in years)</a></td>
<td class="text">8 years 9 months 3 days<span></span>
</td>
<td class="text">9 years 9 months<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1', window );">Weighted Average Remaining Contractual Term Exercisable (in years)</a></td>
<td class="text">8 years 8 months 26 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1', window );">Weighted Average Remaining Contractual Term Vested and Expected to Vest (in years)</a></td>
<td class="text">8 years 9 months 3 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue', window );">Aggregate Intrinsic Value, Outstanding</a></td>
<td class="nump">$ 4,786,252<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1', window );">Aggregate Intrinsic Value, Exercisable</a></td>
<td class="nump">2,023,601<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue', window );">Aggregate Intrinsic Value, Vested and Expected to Vest</a></td>
<td class="nump">$ 4,786,252<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OptionIndexedToIssuersEquityEquityAxis=us-gaap_EmployeeStockOptionMember', window );">Non employee director | 2013 Stock Plan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Stock Options</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod', window );">Number of Options, Granted (in shares)</a></td>
<td class="nump">25,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1D<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-1D<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(v)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The weighted-average price as of the balance sheet date at which grantees can acquire the shares reserved for issuance on vested portions of options outstanding and currently exercisable under the stock option plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>For presentations that combine terminations, the number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan or that expired.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average price of options that were either forfeited or expired.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Net number of share options (or share units) granted during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of options outstanding, including both vested and non-vested options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount by which current fair value of underlying stock exceeds exercise price of fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of fully vested and expected to vest options outstanding that can be converted into shares under option plan. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted-average exercise price, at which grantee can acquire shares reserved for issuance, for fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which option holders acquired shares when converting their stock options into shares.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of difference between fair value of the underlying shares reserved for issuance and exercise price of vested portions of options outstanding and currently exercisable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining contractual term for vested portions of options outstanding and currently exercisable or convertible, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining contractual term for option awards outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 718<br> -SubTopic 10<br> -Subparagraph (e)(1)<br> -Name Accounting Standards Codification<br> -Paragraph 2<br> -Section 50<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining contractual term for fully vested and expected to vest options outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of share options (or share units) exercised during the current period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OptionIndexedToIssuersEquityEquityAxis=us-gaap_EmployeeStockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OptionIndexedToIssuersEquityEquityAxis=us-gaap_EmployeeStockOptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=inod_TwoThousandThirteenStockPlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=inod_TwoThousandThirteenStockPlanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=inod_TwoThousandTwentyOneEquityCompensationPlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=inod_TwoThousandTwentyOneEquityCompensationPlanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_TitleOfIndividualAxis=srt_DirectorMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_TitleOfIndividualAxis=srt_DirectorMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>87
<FILENAME>R73.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644457117312">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock Options - Summary of stock option and Restricted Stock option activity (Details) - Restricted Stock Units - $ / shares<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">2013 Stock Plan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Stock Options</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Number of Restricted Stock Units, Granted</a></td>
<td class="nump">28,804<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">2021 Stock Plan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Stock Options</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Number of Restricted Stock Units, Granted</a></td>
<td class="nump">20,952<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">Equity Plans</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Stock Options</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Number of Restricted Stock Units, Unvested at Beginning of the year</a></td>
<td class="nump">700,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Number of Restricted Stock Units, Granted</a></td>
<td class="nump">49,756<span></span>
</td>
<td class="nump">700,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Number of Restricted Stock Units, Unvested at End of the year</a></td>
<td class="nump">749,756<span></span>
</td>
<td class="nump">700,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Weighted-Average Grant Date Fair Value, Outstanding at Beginning of the year</a></td>
<td class="nump">$ 5.59<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Weighted-Average Grant Date Fair Value, Granted</a></td>
<td class="nump">8.29<span></span>
</td>
<td class="nump">$ 5.59<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Weighted-Average Grant Date Fair Value, Outstanding at End of the year</a></td>
<td class="nump">$ 5.77<span></span>
</td>
<td class="nump">$ 5.59<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1D<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-1D<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(v)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=inod_TwoThousandThirteenStockPlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=inod_TwoThousandThirteenStockPlanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=inod_TwoThousandTwentyOneEquityCompensationPlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=inod_TwoThousandTwentyOneEquityCompensationPlanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=inod_EquityPlansMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=inod_EquityPlansMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>88
<FILENAME>R74.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644458907424">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock Options - Additional Information (Details)<br> $ in Millions</strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($) </div>
<div>shares</div>
</th>
<th class="th">
<div>Jun. 09, 2022 </div>
<div>shares</div>
</th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">Restricted Stock Units</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Stock Options</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_NumberOfSharesEligibleToReceiveForEachFullyVestedRsu', window );">Number of shares eligible to receive for each fully vested RSU</a></td>
<td class="nump">1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized', window );">Compensation cost related to non-vested stock options and restricted stock awards not yet recognized | $</a></td>
<td class="nump">$ 3.1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1', window );">Weighted-average period over which compensation cost recognized</a></td>
<td class="text">14 months<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OptionIndexedToIssuersEquityEquityAxis=us-gaap_EmployeeStockOptionMember', window );">Employee Stock Option</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Stock Options</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized', window );">Compensation cost related to non-vested stock options and restricted stock awards not yet recognized | $</a></td>
<td class="nump">$ 3.5<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1', window );">Weighted-average period over which compensation cost recognized</a></td>
<td class="text">15 months<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PlanNameAxis=inod_TwoThousandThirteenStockPlanMember', window );">2013 Stock Plan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Stock Options</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesUnderlyingOutstandingOptionsOrRights', window );">Shares of common stock underlying outstanding options or rights</a></td>
<td class="nump">5,567,966<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PlanNameAxis=inod_TwoThousandTwentyOneEquityCompensationPlanMember', window );">2021 Stock Plan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Stock Options</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized', window );">Share-based compensation arrangement by share-based payment award, number of shares authorized</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,000,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_ReservationOfSharesSubjectToOptionOrStockAppreciationRightsGrantedRatio', window );">Share reserve ratio</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PlanNameAxis=inod_TwoThousandTwentyOneEquityCompensationPlanOtherMember', window );">Other type of award</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Stock Options</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_ReservationOfSharesSubjectToOptionOrStockAppreciationRightsGrantedRatio', window );">Share reserve ratio</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PlanNameAxis=inod_AwardsGrantedPriorToApril112022Member', window );">Awards granted prior to April 11, 2022</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Stock Options</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_ReservationOfSharesSubjectToOptionOrStockAppreciationRightsGrantedRatio', window );">Share reserve ratio</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PlanNameAxis=inod_AwardsGrantedOnOrAfterApril112022Member', window );">Awards granted on or after April 11, 2022</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Stock Options</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_ReservationOfSharesSubjectToOptionOrStockAppreciationRightsGrantedRatio', window );">Share reserve ratio</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1.5<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PlanNameAxis=inod_EquityPlansMember', window );">Equity Plans | Restricted Stock Units</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Stock Options</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1', window );">Stock options vesting period</a></td>
<td class="text">12 months<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_NumberOfSharesEligibleToReceiveForEachFullyVestedRsu">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents number of shares eligible to receive for each fully vested RSU.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_NumberOfSharesEligibleToReceiveForEachFullyVestedRsu</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_ReservationOfSharesSubjectToOptionOrStockAppreciationRightsGrantedRatio">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the ratio of shares reserved subject to an option or stock appreciation right granted under award plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_ReservationOfSharesSubjectToOptionOrStockAppreciationRightsGrantedRatio</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:pureItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesUnderlyingOutstandingOptionsOrRights">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares of our common stock underlying outstanding options or rights under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesUnderlyingOutstandingOptionsOrRights</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cost not yet recognized for nonvested award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1D<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-1D<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(v)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares authorized for issuance under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OptionIndexedToIssuersEquityEquityAxis=us-gaap_EmployeeStockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OptionIndexedToIssuersEquityEquityAxis=us-gaap_EmployeeStockOptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=inod_TwoThousandThirteenStockPlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=inod_TwoThousandThirteenStockPlanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=inod_TwoThousandTwentyOneEquityCompensationPlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=inod_TwoThousandTwentyOneEquityCompensationPlanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=inod_TwoThousandTwentyOneEquityCompensationPlanOtherMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=inod_TwoThousandTwentyOneEquityCompensationPlanOtherMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=inod_AwardsGrantedPriorToApril112022Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=inod_AwardsGrantedPriorToApril112022Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=inod_AwardsGrantedOnOrAfterApril112022Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=inod_AwardsGrantedOnOrAfterApril112022Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=inod_EquityPlansMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=inod_EquityPlansMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>89
<FILENAME>R75.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644458089472">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Comprehensive loss - Reclassifications from accumulated other comprehensive loss (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems', window );"><strong>Comprehensive loss</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at the beginning</a></td>
<td class="nump">$ 18,773<span></span>
</td>
<td class="nump">$ 29,927<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at the end</a></td>
<td class="nump">25,703<span></span>
</td>
<td class="nump">18,773<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember', window );">Pension Liability Adjustment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems', window );"><strong>Comprehensive loss</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at the beginning</a></td>
<td class="num">(86)<span></span>
</td>
<td class="num">(858)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax', window );">Other comprehensive income (loss) before reclassifications, net of taxes</a></td>
<td class="num">(322)<span></span>
</td>
<td class="nump">561<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax', window );">Total other comprehensive loss before reclassifications, net of taxes</a></td>
<td class="num">(408)<span></span>
</td>
<td class="num">(297)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax', window );">Net amount reclassified to earnings</a></td>
<td class="num">(4)<span></span>
</td>
<td class="nump">211<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at the end</a></td>
<td class="num">(412)<span></span>
</td>
<td class="num">(86)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember', window );">Fair Value of Derivatives</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems', window );"><strong>Comprehensive loss</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at the beginning</a></td>
<td class="num">(365)<span></span>
</td>
<td class="num">(353)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax', window );">Other comprehensive income (loss) before reclassifications, net of taxes</a></td>
<td class="nump">185<span></span>
</td>
<td class="num">(1,118)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax', window );">Total other comprehensive loss before reclassifications, net of taxes</a></td>
<td class="num">(180)<span></span>
</td>
<td class="num">(1,471)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax', window );">Net amount reclassified to earnings</a></td>
<td class="nump">221<span></span>
</td>
<td class="nump">1,106<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at the end</a></td>
<td class="nump">41<span></span>
</td>
<td class="num">(365)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedTranslationAdjustmentMember', window );">Foreign Currency Translation Adjustment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems', window );"><strong>Comprehensive loss</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at the beginning</a></td>
<td class="num">(1,657)<span></span>
</td>
<td class="num">(981)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax', window );">Other comprehensive income (loss) before reclassifications, net of taxes</a></td>
<td class="nump">407<span></span>
</td>
<td class="num">(676)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax', window );">Total other comprehensive loss before reclassifications, net of taxes</a></td>
<td class="num">(1,250)<span></span>
</td>
<td class="num">(1,657)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at the end</a></td>
<td class="num">(1,250)<span></span>
</td>
<td class="num">(1,657)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedOtherComprehensiveIncomeMember', window );">Accumulated Other Comprehensive Loss</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems', window );"><strong>Comprehensive loss</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at the beginning</a></td>
<td class="num">(2,108)<span></span>
</td>
<td class="num">(2,192)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax', window );">Other comprehensive income (loss) before reclassifications, net of taxes</a></td>
<td class="nump">270<span></span>
</td>
<td class="num">(1,233)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax', window );">Total other comprehensive loss before reclassifications, net of taxes</a></td>
<td class="num">(1,838)<span></span>
</td>
<td class="num">(3,425)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax', window );">Net amount reclassified to earnings</a></td>
<td class="nump">217<span></span>
</td>
<td class="nump">1,317<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at the end</a></td>
<td class="num">$ (1,621)<span></span>
</td>
<td class="num">$ (2,108)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total after tax and before reclassification adjustments of other comprehensive income (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-4<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481674/830-30-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481694/830-30-45-17<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481694/830-30-45-20<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481694/830-30-45-20<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481694/830-30-45-20<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481694/830-30-45-20<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax, before reclassification adjustments of other comprehensive income (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-14A<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481674/830-30-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481694/830-30-45-17<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481694/830-30-45-20<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-4<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -SubTopic 10<br> -Topic 220<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482739/220-10-55-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of reclassification adjustments of other comprehensive income (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-14A<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481674/830-30-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481694/830-30-45-17<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481694/830-30-45-20<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-4<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -SubTopic 10<br> -Topic 220<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482739/220-10-55-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 13: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 14: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480418/310-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedTranslationAdjustmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedTranslationAdjustmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedOtherComprehensiveIncomeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=us-gaap_AccumulatedOtherComprehensiveIncomeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>90
<FILENAME>R76.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644459244688">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Segment reporting and concentrations (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment reporting and concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Revenues</a></td>
<td class="nump">$ 86,775<span></span>
</td>
<td class="nump">$ 79,001<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income (loss) before provision for income taxes</a></td>
<td class="nump">139<span></span>
</td>
<td class="num">(10,483)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Assets', window );">Total assets</a></td>
<td class="nump">59,431<span></span>
</td>
<td class="nump">48,042<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">2,075<span></span>
</td>
<td class="nump">2,038<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsegmentsConsolidationItemsAxis=inod_BeforeIntersegmentEliminationsMember', window );">Before intersegment eliminations</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment reporting and concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income (loss) before provision for income taxes</a></td>
<td class="nump">139<span></span>
</td>
<td class="num">(10,483)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsegmentsConsolidationItemsAxis=inod_AfterIntersegmentEliminationsMember', window );">After intersegment eliminations</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment reporting and concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income (loss) before provision for income taxes</a></td>
<td class="nump">139<span></span>
</td>
<td class="num">(10,483)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=inod_DdsMember', window );">DDS</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment reporting and concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Assets', window );">Total assets</a></td>
<td class="nump">37,232<span></span>
</td>
<td class="nump">25,758<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=inod_DdsMember', window );">DDS | Operating Segments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment reporting and concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Revenues</a></td>
<td class="nump">61,576<span></span>
</td>
<td class="nump">56,523<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=inod_DdsMember', window );">DDS | Before intersegment eliminations</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment reporting and concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income (loss) before provision for income taxes</a></td>
<td class="nump">1,823<span></span>
</td>
<td class="nump">1,393<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=inod_DdsMember', window );">DDS | After intersegment eliminations</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment reporting and concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income (loss) before provision for income taxes</a></td>
<td class="nump">1,260<span></span>
</td>
<td class="nump">716<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=inod_SynodexMember', window );">Synodex</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment reporting and concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Assets', window );">Total assets</a></td>
<td class="nump">3,379<span></span>
</td>
<td class="nump">3,270<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=inod_SynodexMember', window );">Synodex | Operating Segments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment reporting and concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Revenues</a></td>
<td class="nump">7,511<span></span>
</td>
<td class="nump">7,105<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=inod_SynodexMember', window );">Synodex | Before intersegment eliminations</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment reporting and concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income (loss) before provision for income taxes</a></td>
<td class="num">(299)<span></span>
</td>
<td class="num">(3,213)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=inod_SynodexMember', window );">Synodex | After intersegment eliminations</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment reporting and concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income (loss) before provision for income taxes</a></td>
<td class="nump">219<span></span>
</td>
<td class="num">(2,599)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=inod_AgilityMember', window );">Agility</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment reporting and concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Assets', window );">Total assets</a></td>
<td class="nump">18,820<span></span>
</td>
<td class="nump">19,014<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">2,075<span></span>
</td>
<td class="nump">2,038<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=inod_AgilityMember', window );">Agility | Operating Segments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment reporting and concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Revenues</a></td>
<td class="nump">17,688<span></span>
</td>
<td class="nump">15,373<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=inod_AgilityMember', window );">Agility | Before intersegment eliminations</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment reporting and concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income (loss) before provision for income taxes</a></td>
<td class="num">(1,385)<span></span>
</td>
<td class="num">(8,663)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=inod_AgilityMember', window );">Agility | After intersegment eliminations</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment reporting and concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income (loss) before provision for income taxes</a></td>
<td class="num">$ (1,340)<span></span>
</td>
<td class="num">$ (8,600)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Assets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 23: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 26: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Assets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482548/350-20-55-24<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482598/350-20-45-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479557/942-235-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 1<br> -SubTopic 20<br> -Topic 940<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481913/940-20-25-1<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Revenues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479557/942-235-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Revenues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingInformationLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingInformationLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsegmentsConsolidationItemsAxis=inod_BeforeIntersegmentEliminationsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsegmentsConsolidationItemsAxis=inod_BeforeIntersegmentEliminationsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsegmentsConsolidationItemsAxis=inod_AfterIntersegmentEliminationsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsegmentsConsolidationItemsAxis=inod_AfterIntersegmentEliminationsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=inod_DdsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=inod_DdsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=inod_SynodexMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=inod_SynodexMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=inod_AgilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=inod_AgilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>91
<FILENAME>R77.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644459216400">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Segment reporting and concentrations - Long-lived assets (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Segment reporting and concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NoncurrentAssets', window );">Long - lived assets</a></td>
<td class="nump">$ 23,168<span></span>
</td>
<td class="nump">$ 21,384<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_US', window );">United States</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Segment reporting and concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NoncurrentAssets', window );">Long - lived assets</a></td>
<td class="nump">9,101<span></span>
</td>
<td class="nump">7,205<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_CA', window );">Canada</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Segment reporting and concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NoncurrentAssets', window );">Long - lived assets</a></td>
<td class="nump">7,328<span></span>
</td>
<td class="nump">7,675<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_GB', window );">United Kingdom</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Segment reporting and concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NoncurrentAssets', window );">Long - lived assets</a></td>
<td class="nump">1,028<span></span>
</td>
<td class="nump">1,198<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_PH', window );">Philippines</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Segment reporting and concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NoncurrentAssets', window );">Long - lived assets</a></td>
<td class="nump">3,484<span></span>
</td>
<td class="nump">3,682<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_IN', window );">India</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Segment reporting and concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NoncurrentAssets', window );">Long - lived assets</a></td>
<td class="nump">1,791<span></span>
</td>
<td class="nump">1,195<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_LK', window );">Sri Lanka</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Segment reporting and concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NoncurrentAssets', window );">Long - lived assets</a></td>
<td class="nump">423<span></span>
</td>
<td class="nump">426<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=stpr_IL', window );">Israel</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Segment reporting and concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NoncurrentAssets', window );">Long - lived assets</a></td>
<td class="nump">13<span></span>
</td>
<td class="nump">3<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=inod_ForeignCountriesMember', window );">Total foreign</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Segment reporting and concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NoncurrentAssets', window );">Long - lived assets</a></td>
<td class="nump">$ 14,067<span></span>
</td>
<td class="nump">$ 14,179<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NoncurrentAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Long-lived assets other than financial instruments, long-term customer relationships of a financial institution, mortgage and other servicing rights, deferred policy acquisition costs, and deferred tax assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NoncurrentAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_US">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_US</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_CA">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_CA</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_GB">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_GB</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_PH">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_PH</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_IN">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_IN</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_LK">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_LK</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=stpr_IL">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=stpr_IL</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=inod_ForeignCountriesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=inod_ForeignCountriesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>92
<FILENAME>R78.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644458813856">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Segment reporting and concentrations - Revenues by geographic region (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment reporting and concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Revenues</a></td>
<td class="nump">$ 86,775<span></span>
</td>
<td class="nump">$ 79,001<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_US', window );">United States</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment reporting and concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Revenues</a></td>
<td class="nump">54,430<span></span>
</td>
<td class="nump">48,724<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_GB', window );">United Kingdom</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment reporting and concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Revenues</a></td>
<td class="nump">10,766<span></span>
</td>
<td class="nump">10,901<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_NL', window );">The Netherlands</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment reporting and concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Revenues</a></td>
<td class="nump">7,291<span></span>
</td>
<td class="nump">6,829<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_CA', window );">Canada</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment reporting and concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Revenues</a></td>
<td class="nump">7,156<span></span>
</td>
<td class="nump">5,508<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=inod_OtherPrincipallyEuropeMember', window );">Others - principally Europe</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment reporting and concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Revenues</a></td>
<td class="nump">$ 7,132<span></span>
</td>
<td class="nump">$ 7,039<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Revenues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479557/942-235-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Revenues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingInformationLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingInformationLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_US">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_US</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_GB">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_GB</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_NL">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_NL</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_CA">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_CA</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=inod_OtherPrincipallyEuropeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=inod_OtherPrincipallyEuropeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>93
<FILENAME>R79.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644461713344">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Segment reporting and concentrations - Additional information (Details)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($) </div>
<div>customer </div>
<div>segment</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>USD ($) </div>
<div>customer </div>
<div>client</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment reporting and concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NumberOfReportableSegments', window );">Number of reporting segments | segment</a></td>
<td class="nump">3<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAsset', window );">Right-of-use-asset, net | $</a></td>
<td class="nump">$ 5,054<span></span>
</td>
<td class="nump">$ 4,309<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember', window );">Sales revenue, net | Customer concentration risk | Non-US</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment reporting and concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk, percentage</a></td>
<td class="nump">37.00%<span></span>
</td>
<td class="nump">38.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_MajorCustomersAxis=inod_ForeignCustomerMember', window );">Foreign customer | Accounts receivable | Customer concentration risk</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment reporting and concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk, percentage</a></td>
<td class="nump">31.00%<span></span>
</td>
<td class="nump">44.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_MajorCustomersAxis=inod_OneClientMember', window );">One customer | Sales revenue, net | Customer concentration risk</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment reporting and concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_NumberOfClient', window );">Number of clients</a></td>
<td class="nump">1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk, percentage</a></td>
<td class="nump">10.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_MajorCustomersAxis=inod_TwoClientMember', window );">Two customer | Sales revenue, net | Customer concentration risk</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment reporting and concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk, percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_MajorCustomersAxis=inod_ThreeClientsMember', window );">Three customer | Accounts receivable | Customer concentration risk</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment reporting and concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_NumberOfClient', window );">Number of clients</a></td>
<td class="nump">3<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk, percentage</a></td>
<td class="nump">53.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_MajorCustomersAxis=inod_FourClientsMember', window );">Four customer | Accounts receivable | Customer concentration risk</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment reporting and concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_NumberOfClient', window );">Number of clients | client</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk, percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">45.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_MajorCustomersAxis=inod_ClientMember', window );">Customer | Sales revenue, net | Customer concentration risk | United States</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment reporting and concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_NumberOfClient', window );">Number of clients</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_MajorCustomersAxis=inod_ClientMember', window );">Customer | Accounts receivable | Customer concentration risk</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment reporting and concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_NumberOfClient', window );">Number of clients</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_MajorCustomersAxis=inod_ClientMember', window );">Customer | Minimum | Sales revenue, net | Customer concentration risk</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment reporting and concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk, percentage</a></td>
<td class="nump">10.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_MajorCustomersAxis=inod_ClientMember', window );">Customer | Minimum | Accounts receivable | Customer concentration risk</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment reporting and concentrations</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk, percentage</a></td>
<td class="nump">10.00%<span></span>
</td>
<td class="nump">10.00%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_NumberOfClient">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents number of clients.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_NumberOfClient</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskPercentage1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the "benchmark" (or denominator) in the equation, this concept represents the concentration percentage derived from the division.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-21<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-20<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-18<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-20<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskPercentage1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NumberOfReportableSegments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of segments reported by the entity. A reportable segment is a component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's financial statements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-18<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NumberOfReportableSegments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's right to use underlying asset under operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingInformationLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingInformationLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=us-gaap_NonUsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=us-gaap_NonUsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=inod_ForeignCustomerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=inod_ForeignCustomerMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=inod_OneClientMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=inod_OneClientMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=inod_TwoClientMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=inod_TwoClientMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=inod_ThreeClientsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=inod_ThreeClientsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=inod_FourClientsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=inod_FourClientsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=inod_ClientMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=inod_ClientMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_US">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_US</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>94
<FILENAME>R80.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644467213328">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Loss per Share (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Loss per Share</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_NetIncomeLossAttributableToParent1', window );">Net loss attributable to Innodata Inc. and Subsidiaries</a></td>
<td class="num">$ (908)<span></span>
</td>
<td class="num">$ (11,935)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Weighted average common shares outstanding</a></td>
<td class="nump">28,131<span></span>
</td>
<td class="nump">27,278<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Adjusted for dilutive computation</a></td>
<td class="nump">28,131<span></span>
</td>
<td class="nump">27,278<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_NetIncomeLossAttributableToParent1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_NetIncomeLossAttributableToParent1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-16<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>95
<FILENAME>R81.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644464007312">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Loss per Share - Additional information (Details) - shares<br> shares in Millions</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_EmployeeStockOptionMember', window );">Employee Stock Option</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems', window );"><strong>Antidilutive securities excluded from computation of earnings per share</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Computation of diluted loss per share</a></td>
<td class="nump">6.3<span></span>
</td>
<td class="nump">5.3<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_EmployeeStockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_EmployeeStockOptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>96
<FILENAME>R82.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644466205552">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Derivatives - Additional Information (Details) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract', window );"><strong>Derivatives</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeNotionalAmount', window );">Derivative notional amount</a></td>
<td class="nump">$ 10.5<span></span>
</td>
<td class="nump">$ 14.2<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeNotionalAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Nominal or face amount used to calculate payment on derivative.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480434/815-10-50-1B<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480434/815-10-50-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeNotionalAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>97
<FILENAME>R83.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644457455424">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Derivatives - Fair value of derivative instruments (Details) - Foreign currency forward contracts - Designated as hedging instrument - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BalanceSheetLocationAxis=us-gaap_AccruedLiabilitiesMember', window );">Accrued expenses and other</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativesFairValueLineItems', window );"><strong>Derivatives, Fair Value</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsAndHedgesLiabilities', window );">Derivatives designated as hedging instruments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 365<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BalanceSheetLocationAxis=us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember', window );">Prepaid expenses and other current assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativesFairValueLineItems', window );"><strong>Derivatives, Fair Value</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsAndHedgesLiabilities', window );">Derivatives designated as hedging instruments</a></td>
<td class="nump">$ 41<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentsAndHedgesLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum as of the balance sheet date of the (a) fair values of all liabilities resulting from contracts that meet the criteria of being accounted for as derivative instruments, and (b) the carrying amounts of the liabilities arising from financial instruments or contracts used to mitigate a specified risk (hedge), and which are expected to be extinguished or otherwise disposed of within a year or the normal operating cycle, if longer, net of the effects of master netting arrangements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentsAndHedgesLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativesFairValueLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativesFairValueLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BalanceSheetLocationAxis=us-gaap_AccruedLiabilitiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BalanceSheetLocationAxis=us-gaap_AccruedLiabilitiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentRiskAxis=us-gaap_ForeignExchangeForwardMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentRiskAxis=us-gaap_ForeignExchangeForwardMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_HedgingDesignationAxis=us-gaap_DesignatedAsHedgingInstrumentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_HedgingDesignationAxis=us-gaap_DesignatedAsHedgingInstrumentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BalanceSheetLocationAxis=us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BalanceSheetLocationAxis=us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>98
<FILENAME>R84.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644466426960">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Derivatives - Contracts designated as cash flow hedges (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract', window );"><strong>Derivatives</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax', window );">Net gain (loss) recognized in OCI</a></td>
<td class="nump">$ 185<span></span>
</td>
<td class="num">$ (1,118)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodBeforeTax', window );">Net loss reclassified from accumulated OCI into income</a></td>
<td class="num">$ (221)<span></span>
</td>
<td class="num">$ (1,106)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before tax and reclassification, of gain (loss) from derivative instrument designated and qualifying cash flow hedge included in assessment of hedge effectiveness.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-11<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4C<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480434/815-10-50-4C<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480627/815-20-45-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4A<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480434/815-10-50-4A<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-10A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodBeforeTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before tax of reclassification adjustments of other comprehensive income (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-14A<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481674/830-30-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481694/830-30-45-17<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481694/830-30-45-20<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodBeforeTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>99
<FILENAME>R85.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644463986256">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Line Of Credit (Details) - Revolving Credit Facility<br> $ in Millions</strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Apr. 04, 2023 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Maximum borrowing capacity</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 10.0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_LineOfCreditFacilityPercentageOfEligibleAccountsConsideredForDeterminationOfBorrowingBase', window );">Percentage of eligible accounts considered for determination of borrowing base</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">85.00%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_LineOfCreditFacilityPercentageOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase', window );">Percentage of eligible foreign accounts considered for determination of borrowing base</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">85.00%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_LineOfCreditFacilityMaximumAmountOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase', window );">Maximum amount of eligible foreign accounts considered for determination of borrowing base</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2.0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity', window );">Borrowing base calculation</a></td>
<td class="nump">$ 10.0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_inod_LineOfCreditFacilityCovenantTermsThresholdMinimumRequiredFixedChargeCoverageRatio', window );">Threshold minimum fixed charge coverage ratio required to be maintained by December 31, 2023</a></td>
<td class="nump">1.10<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember', window );">SOFR</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Line of Credit</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1', window );">Interest rate</a></td>
<td class="nump">2.25%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_LineOfCreditFacilityCovenantTermsThresholdMinimumRequiredFixedChargeCoverageRatio">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Threshold minimum required fixed charge coverage ratio under the line of credit facility.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_LineOfCreditFacilityCovenantTermsThresholdMinimumRequiredFixedChargeCoverageRatio</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:pureItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_LineOfCreditFacilityMaximumAmountOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Maximum amount of eligible foreign accounts considered for determination of borrowing base under the line of credit facility.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_LineOfCreditFacilityMaximumAmountOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_LineOfCreditFacilityPercentageOfEligibleAccountsConsideredForDeterminationOfBorrowingBase">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of eligible accounts considered for determination of borrowing base under the line of credit facility.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_LineOfCreditFacilityPercentageOfEligibleAccountsConsideredForDeterminationOfBorrowingBase</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_inod_LineOfCreditFacilityPercentageOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of eligible foreign accounts considered for determination of borrowing base under the line of credit facility.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">inod_LineOfCreditFacilityPercentageOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>inod_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage points added to the reference rate to compute the variable rate on the debt instrument.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentBasisSpreadOnVariableRate1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current borrowing capacity under the credit facility considering any current restrictions on the amount that could be borrowed (for example, borrowings may be limited by the amount of current assets), but without considering any amounts currently outstanding under the facility.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(b),22(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(f))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(b),22(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_VariableRateAxis=us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VariableRateAxis=us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>100
<FILENAME>R86.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644466110560">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Pay vs Performance Disclosure - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_PvpTable', window );"><strong>Pay vs Performance Disclosure</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net Income (Loss)</a></td>
<td class="num">$ (908)<span></span>
</td>
<td class="num">$ (11,935)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_PvpTable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 402<br> -Subsection v<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_PvpTable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 35: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 38: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 39: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>101
<FILENAME>R87.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.0.1</span><table class="report" border="0" cellspacing="2" id="idm140644457028464">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Insider Trading Arrangements<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_TradingArrByIndTable', window );"><strong>Trading Arrangements, by Individual</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_Rule10b51ArrAdoptedFlag', window );">Rule 10b5-1 Arrangement Adopted</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_NonRule10b51ArrAdoptedFlag', window );">Non-Rule 10b5-1 Arrangement Adopted</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_Rule10b51ArrTrmntdFlag', window );">Rule 10b5-1 Arrangement Terminated</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_NonRule10b51ArrTrmntdFlag', window );">Non-Rule 10b5-1 Arrangement Terminated</a></td>
<td class="text">false<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_NonRule10b51ArrAdoptedFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_NonRule10b51ArrAdoptedFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_NonRule10b51ArrTrmntdFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_NonRule10b51ArrTrmntdFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_Rule10b51ArrAdoptedFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_Rule10b51ArrAdoptedFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_Rule10b51ArrTrmntdFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_Rule10b51ArrTrmntdFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_TradingArrByIndTable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 2<br> -Subparagraph A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_TradingArrByIndTable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EXCEL
<SEQUENCE>103
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
M4$L#!!0    ( /-F9%@'04UB@0   +$    0    9&]C4')O<',O87!P+GAM
M;$V./0L",1!$_\IQO;=!P4)B0-!2L+(/>QLOD&1#LD)^OCG!CVX>;QA&WPIG
M*N*I#BV&5(_C(I(/ !47BK9.7:=N')=HI6-Y #OGD<Z,STA)8*O4'J@)I9GF
M3?X.CD:?<@X>K7A.YNJQ<&4GPZ4A!0W_<FW>J=0U[R;UEA_6\#MI7E!+ P04
M    " #S9F18D8^X/.\    K @  $0   &1O8U!R;W!S+V-O<F4N>&ULS9+!
M3L,P#(9?!>7>.FTW$%'7"X@32$A, G&+'&^+:-HH,6KW]J1EZX3@ 3C&_O/Y
ML^0:O<(^T'/H/06V%*]&UW91H=^( [-7 !$/Y'3,4Z)+S5T?G.;T#'OP&C_T
MGJ"4\AH<L3::-4S S"]$T=0&%0;2W(<3WN""]Y^AG6$&@5IRU'&$(B] ---$
M?QS;&BZ "<847/PND%F(<_5/[-P!<4J.T2ZI81CRH9IS:8<"WIX>7^9U,]M%
MUAU2^A6MXJ.GC3A/?JWN[K</HBEEN<IDE<G5MKA1Z[4J;M\GUQ]^%V'7&[NS
M_]CX+-C4\.LNFB]02P,$%     @ \V9D6)E<G",0!@  G"<  !,   !X;"]T
M:&5M92]T:&5M93$N>&UL[5I;<]HX%'[OK]!X9_9M"\8V@;:T$W-I=MNTF83M
M3A^%$5B-;'EDD81_OT<V$,N6#>V23;J;/ 0LZ?O.14?GZ#AY\^XN8NB&B)3R
M>&#9+]O6N[<OWN!7,B0103 9IZ_PP JE3%ZU6FD PSA]R1,2P]R"BPA+>!3+
MUES@6QHO(];JM-O=5H1I;*$81V1@?5XL:$#05%%:;U\@M.4?,_@5RU2-9:,!
M$U=!)KF(M/+Y;,7\VMX^9<_I.ATR@6XP&U@@?\YOI^1.6HCA5,+$P&IG/U9K
MQ]'22(""R7V4!;I)]J/3%0@R#3LZG5C.=GSVQ.V?C,K:=#1M&N#C\7@XMLO2
MBW <!.!1NY["G?1LOZ1!";2C:=!DV/;:KI&FJHU33]/W?=_KFVB<"HU;3]-K
M=]W3CHG&K=!X#;[Q3X?#KHG&J]!TZVDF)_VN:Z3I%FA"1N/K>A(5M>5 TR
M6'!VULS2 Y9>*?IUE!K9';O=05SP6.XYB1'^QL4$UFG2&98T1G*=D 4. #?$
MT4Q0?*]!MHK@PI+27)#6SRFU4!H(FLB!]4>"(<7<K_WUE[O)I#-ZG7TZSFN4
M?VFK :?MNYO/D_QSZ.2?IY/734+.<+PL"?'[(UMAAR=N.Q-R.AQG0GS/]O:1
MI24RS^_Y"NM./&<?5I:P7<_/Y)Z,<B.[W?98??9/1VXCUZG LR+7E$8D19_(
M+;KD$3BU20TR$S\(G8:8:E < J0),9:AAOBTQJP1X!-]M[X(R-^-B/>K;YH]
M5Z%82=J$^!!&&N*<<^9ST6S[!Z5&T?95O-RCEU@5 9<8WS2J-2S%UGB5P/&M
MG#P=$Q+-E L&08:7)"82J3E^34@3_BNEVOZ<TT#PE"\D^DJ1CVFS(Z=T)LWH
M,QK!1J\;=8=HTCQZ_@7YG#4*')$;'0)G&[-&(81IN_ >KR2.FJW"$2M"/F(9
M-AIRM1:!MG&IA&!:$L;1>$[2M!'\6:PUDSY@R.S-D77.UI$.$9)>-T(^8LZ+
MD!&_'H8X2IKMHG%8!/V>7L-)P>B"RV;]N'Z&U3-L+([W1]072N0/)J<_Z3(T
M!Z.:60F]A%9JGZJ'-#ZH'C(*!?&Y'C[E>G@*-Y;&O%"N@GL!_]':-\*K^(+
M.7\N?<^E[[GT/:'2MS<C?6?!TXM;WD9N6\3[KC':US0N*&-7<LW(QU2ODRG8
M.9_ [/UH/I[Q[?K9)(2OFEDM(Q:02X&S022X_(O*\"K$">AD6R4)RU3393>*
M$IY"&V[I4_5*E=?EK[DHN#Q;Y.FOH70^+,_Y/%_GM,T+,T.W<DOJMI2^M28X
M2O2QS'!.'LL,.V<\DAVV=Z =-?OV77;D(Z4P4Y=#N!I"O@-MNIW<.CB>F)&Y
M"M-2D&_#^>G%>!KB.=D$N7V85VWGV-'1^^?!4;"C[SR6'<>(\J(A[J&&F,_#
M0X=Y>U^89Y7&4#04;6RL)"Q&MV"XU_$L%.!D8"V@!X.O40+R4E5@,5O& RN0
MHGQ,C$7H<.>77%_CT9+CVZ9EM6ZO*7<9;2)2.<)IF!-GJ\K>9;'!51W/55OR
ML+YJ/;053L_^6:W(GPP13A8+$DACE!>F2J+S&5.^YRM)Q%4XOT4SMA*7&+SC
MYL=Q3E.X$G:V#P(RN;LYJ7IE,6>F\M\M# DL6XA9$N)-7>W5YYN<KGHB=OJ7
M=\%@\OUPR4</Y3OG7_1=0ZY^]MWC^FZ3.TA,G'G%$0%T10(CE1P&%A<RY%#N
MDI &$P'-E,E$\ *"9*8<@)CZ"[WR#+DI%<ZM/CE_12R#ADY>TB42%(JP# 4A
M%W+C[^^3:G>,U_HL@6V$5#)DU1?*0XG!/3-R0]A4)?.NVB8+A=OB5,V[&KXF
M8$O#>FZ=+2?_VU[4/;07/4;SHYG@'K.'<YMZN,)%K/]8UA[Y,M\Y<-LZW@->
MYA,L0Z1^P7V*BH 1JV*^NJ]/^26<.[1[\8$@F_S6VZ3VW> ,?-2K6J5D*Q$_
M2P=\'Y(&8XQ;]#1?CQ1BK::QK<;:,0QY@%CS#*%F.-^'19H:,]6+K#F-"F]!
MU4#E/]O4#6CV#30<D05>,9FV-J/D3@H\W/[O#;#"Q([A[8N_ 5!+ P04
M" #S9F18'4P;#%$'  "O,   &    'AL+W=O<FMS:&5E=',O<VAE970Q+GAM
M;+6;[W/:-AS&_Q4=V^VZNQ!LBQ])E^2.F+#1IH2%M+UNMQ?"%N"+;3%9#LE_
M/\DV"'>RL'OB10,&?Q_;'R3Y>63U:DOH<[+&F('7*(R3Z]::L<W[3B?QUCA"
MR3G9X)A_LR0T0HQOTE4GV5",_*PH"CN.9?4[$0KBULU5]MF,WER1E(5!C&<4
M)&D4(?IVBT.RO6[9K=T'C\%JS<0'G9NK#5KA.6:?-S/*MSI[%3^(<)P$) 84
M+Z];0_O]"%Z*@FR/+P'>)@?O@;B4!2'/8F/B7[<L<48XQ!X3$HB_O& 7AZ%0
MXN?Q;R':VA]3%!Z^WZF/LXOG%[- "79)^#7PV?JZ==$"/EZB-&2/9/L'+BZH
M)_0\$B;97[#-]^W!%O#2A)&H*.9G$ 5Q_HI>"Q '!8Y34> 4!<YW!7:WH@ 6
M!;!N0;<HZ&9D\DO).(P00S=7E&P!%7MS-?$F@YE5\\L/8O&[SQGEWP:\CMV,
MB)?RGY$!%/O@+F8!>P.3.&]/XG=I@\_S$7CW\Z]7'<8/)XHZ7B%]FTL[%=*V
M SZ1F*T3KNMCORS0X>>Y/UEG=[*WCE9QA+US .TSX%@.5)R0JR\?X\4YL/M9
M>5=1/M*7?TAC?G1+=?32U< ]>ICIP1]#KP*>"W;5@F*(>)]LD(>O6WP,2#!]
MP:V;7WZR^]9O*E@FQ4:&Q$H@NWN079VZ!/GTML$J;/IRVVI_5/'15C7E8TBL
MQ*>WY].KQV<8QRD*P2/>$,I4H/0ZC*8JO*ZVJBDH0V(E4/T]J'X]4#-, R(Z
MI0_XJ*IL4T>4=B-5Y5"EK6\*S9!8"=I@#VU0L_=1Q.U =M>H;F%ZK24*$V43
MTY8UI65(K$3K8D_K0GN%Q3@_#D(,IFFTP%1%2:]A678;]@8#U3W,U98V)65(
MK$3J<D_JL@ZI1[P*$L:;%@-3%"F[HEYG,IT^C(9/P_S$)E-714TKT92:(;$2
M-=N2ALZJPVT2>X3R7IAYB3,P9WP< X0"EZ0QHV_\U5?"/*(^NE/ATQ<UY6=*
MK0SPP!';=0 ^H5<P\?G %BP#+S?#U1WVB*0-V[ [Z%UVE;<"?7%C>H;4RO0<
M2<^I0V_H^UP].=N] ?=\/_ 0J]N<7K+7 ^X:A2&.5YB"1X)\)46M2&.*AM3*
M%&4TL+6&^7\47;'%>^\3V2J#P1&YQ\!?X66 0Q_,$'U6XC,:!TRIE?')0&#K
M+?WW^/:CWXR2ER#VU*U0KSG]H,1F-"684BMCDSG!UAO\[['-2,)X7O@KV%3?
M+O2*UJ#?MY3<C(8&4VIE;C(VV'JWG_7.(<6H&I->P+%L)22C(<&46AF2C FV
MWMO?$X^WI=F:Q#KG>T0$#NSVA66IFY31D&!*K4Q+Q@1;[_&? L83 ED"VWFW
M^!7,L9=2WLJ4R/1*+HDB[EWFC'CJ@=]H8C"E5L8F,X.M-_L\@_I!O +SMVA!
M0B6M8VGA8:2D9#0AF%(KSZ+*B.#H3?RN-8&[5V^-N*NJC%9'A*;#^6CXIW(F
MUF@B,*56YB43@5,K$7PA(<].B.;QG29*8'JE*5'",AH 3*F58<D X-0* &Y*
MJ9@5RJ>"LC[)35BJAJ97_(955:Z^JC&U4QA^1QI^IY;AG\0,T_Q9F)AY1#N,
M2FIZQ2IJ1GV^*;4R->GSG5H^/^N.P.4>?T6H\AYY1&=*XC;R/,QEN(B?"RKI
M&;7[IM3*]*3==VK9_5FZ" ,/C$."U.W,I%5WC:J-"K5>IB:><;_<.)?="P=:
M8G;T185'NGI';\H+//,(A2&X31/^=:(>OO0Z58]-]&6-29S"W3O2W3MZ8U[
MNHLP78G!_G>NP-8\#T4;%*N[Y \^"M#7-<9V"IOO2)OOU'H<,%]CWL9TL/0R
MU;",FGM3:F58TMP[M9X(' ::,XX.\6.!AY0E#,7"_"OYF;3O;J'6/QQU+@8]
M_D\..@6Q4QA]*(T^K/4LP.4.@O+P/8E]_ H^8F43.R+%0[=U:<%^3SE3H2]N
MO)C@%'8?2KL/]29]9UW'02*F++YA1+6/@H_(M=NVTX9J;$:-ORFU,C9I_&$M
MX_^5#V7MYYAL>1?%*"$Q]U.3)$G5\SU'--5Y25_4&-LIG#\\6 6D]^G[Y^?C
M($:Q%_ 6ETU79Y_=49H]L^,-,E\G]_<X1*M_E"3UAZF\1>CK&L,\12" ,A!
MO9$_@"G[[IA_J#1N1\2JEF[HRQH3.T4(@#($P)J+@PIBQ=*7:F9ZN?$W)3&C
MIM^46IF8S 50[^>'')>?(^-]4<E(+U#=%8TF E-J94PR$4"]@1^F?L#XX%4U
MM7BD_';T(/Q*@,#]_4P)RV@.,*56AB5S -0;^!VL<4 C,%'-0-\>4>A;ZO5
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
MK_,_H9M_?KM]^ ]\_.4EW3>??_TF;\<'8#WW$C_WSIDH=>%HW[LV*Q4OOG]
MT3C/LW$0!$BNJ3""IU5K+LK_LJ7N";QAB+=*ZGW34J\J>%SF?>\;<O<W.#J>
MFY[@B9_@3;WR9CLC8_3N?1!J12W0$ZU:]@&EL9D>>(H^F!/9G*2'3TLIC9 T
MA8^S<1J3[N'!+"*JT#4K6+W02NWU0+BS)\$XSG*7LW0<!?$ISC"X3K;"(#@8
ME!QD%#CZ(>EE"/'+D,OELC1D8O*/ELM)V:"";DK=R$&@ML#0^\AXR.Z &8FS
MT$'PY."H^)<ZI"Q*4'006U!,\L3:H4!F6H:ZD/72@_BEA]ZBM'6[W8KL#BEY
MK6MA;3XH/6DRYQ(^T+:UQ"1,\)"P(3,<!HZ3 ])K#N+7''-35FM>+9F0NM_^
M:(UR7K 5%PP]""U#6O&"YMO:Z]@=C,%6$P2'R9 R #,<8]?I!^E5!_&KCCLF
MY1E2KVAWG8*,PRPZ:@RNPC9%.3:/"R[AU+*ER"2)DJ'X_J79<7R]8B&G'"G+
MHY5BW4J!8($SXS@-K#JPS4)=!XY=#>FE!O%+#4L"=D0%JX]N]D^.*[,^ZD!G
M6( 9=(8U/?@@:;X&_X.*QU+O=RNVTN."]ZEV(+8?6+<WBF^Z;Y0+KA2ON\LU
MHQJT,=#/5YRKUQOSV7/_F7OV/U!+ P04    " #S9F186J):+]P"  ! "0
M&    'AL+W=O<FMS:&5E=',O<VAE970S+GAM;*V6;6^;,!2%_XK%IJF3ND"
M!.@2I#3IU$I=&S7=]MF%FV#58&:;I-VOGPT4)0UYFY8/P89[CI]C7NS!BO%G
MD0!(])+23 R-1,K\PC1%E$"*18?ED*DK<\93+%67+TR1<\!Q*4JI:5M6WTPQ
MR8QP4)Z;\G# "DE)!E..1)&FF+]> F6KH=$UWDX\D$4B]0DS'.1X 3.0/_(I
M5SVS<8E)"ID@+$,<YD-CU+T8![J^+/A)8"76VD@G>6+L67=NXJ%A:2"@$$GM
M@-5A"6.@5!LIC-^UI]$,J87K[3?W;V5VE>4)"Q@S^HO$,AD:OH%BF.."R@>V
MNH8Z3T_[18R*\A^MJMJ>9Z"H$)*EM5@1I"2KCOBEGH<U0=?=(;!K@7VLP*D%
M3AFT(BMC3;#$X8"S%>*Z6KGI1CDWI5JE(9F^BS/)U56B=#(<W]_-[F]O)J/'
MJPFZ'-V.[L97:'9]=?4X0V=3S"&3"4@28?H9?4$?D8E$HLZ*@2G5Z-K#C.J1
M+JN1[!TC32#J(*=[CFS+=EKDX^/E]J;<5)F;X'83W"[]G-.#MV6KS-QV,_VJ
M78@<1S TU+LD@"_!"#]]Z/:MKVU)_Y/91FZGR>WL<P]GP FF2#G/@7.(D7K$
MHN?S^K8B7,B$<?('XK99J*S[I;7^/BQ#-PA\R[(&YG(]X.&Z#7:W87?_B5U]
MG83$64RR11NUNT7SGG=?Q09IKR'M[24=LS15'ZF:+\<<+3$M )V1#,6,4LP%
MRH%7L_ZY#;KR]]:1.E;W'?>!H@WT?H/>/P']J,>BOS5]7L\J?^]XCRC<8/8:
M9N]T9B)$T<[K;6$XW<#QMGE;"JV>'^SD]1M>_W3> T^QO\5B^U[/V89N*?1<
MJ[<3.FB@@[W0CVJ7( K^NHG=AAJTS*_O;I,>KJM S;7U3>\MOF.^()E %.9*
M:74\]1[P:KVN.I+EY9+WQ*1:0,MFHK8XP'6!NCYG3+YU]"K:;)K"OU!+ P04
M    " #S9F18EV(Y=,T%  "1&   &    'AL+W=O<FMS:&5E=',O<VAE970T
M+GAM;+59;6_B.!#^*Q:W.NU*2XF=0$*/(K70:BMM"RK=W<\F,>#;).9B0[O_
M_B8)32!V?%N)^]*\,#-^YB7SC-W1B\A^R@UC"KTF<2JO.ANEMI>]G@PW+*'R
M0FQ9"K^L1)90!8_9NB>W&:-1H93$/>(X@UY">=H9CXIW\VP\$CL5\Y3-,R1W
M24*S7S<L%B]7'=QY>_'$UQN5O^B-1UNZ9@NFOFWG&3SU*BL13U@JN4A1QE97
MG6M\.2'#7*&0^,[9BSRZ1[DK2R%^Y@_WT57'R1&QF(4J-T'ALF<3%L>Y)<#Q
MS\%HIUHS5SR^?[-^5S@/SBRI9!,1_^"1VEQU@@Z*V(KN8O4D7KZP@T/]W%XH
M8EG\12\'6:>#PIU4(CDH X*$I^65OAX"<:2 !RT*Y*! F@I>BX)[4' +1TMD
MA5M3JNAXE(D7E.728"V_*6)3:(,W/,W3N% 9_,I!3XTGL\?%[.O]]/KY=HH6
MSW!YN'U\7J#9'9K-;Y^NG^]! %T_3M%D]C!_NOUR^[BX_WZ+OLX6"]1%WQ93
M]/'#)_0!\10];\1.TC22HYX":/D"O?  XZ:$05I@8((>1*HV$MVF$8M.#?3
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
M_U=)PK]MR)]['7^B./L74$L#!!0    ( /-F9%C!'@?L!@<  #T>   8
M>&PO=V]R:W-H965T<R]S:&5E=#8N>&ULM5EM;]LX#/XK0FXX=$"S6%*<EUX;
MH$T[;,"V%DNW?59L)='-L7*2TK3WZT^R73NQ7MH"N2^-[5+T0U+D0UKG.RY^
MRQ6E"CRNLUQ>=%9*;<YZ/9FLZ)K(#WQ#<_V?!1=KHO2M6/;D1E"2%HO660]%
MT:"W)BSO3,Z+9W=B<LZW*F,YO1- ;M=K(IZN:,9W%QW8>7[PG2U7RCSH3<XW
M9$EG5/W8W E]UZNUI&Q-<\EX#@1=7'0NX=D4#\R"0N(GHSNY=PV,*7/.?YN;
MS^E%)S*(:$839500_?- IS3+C":-XY]*::=^IUFX?_VL_6-AO#9F3B2=\NP7
M2]7JHC/J@)0NR#93W_GN$ZT,BHV^A&>R^ MVE6S4 <E6*KZN%FL$:Y:7O^2Q
M<L3> CCP+$#5 M1>T/<LP-4"7!A:(BO,NB:*3,X%WP%AI+4V<U'XIEBMK6&Y
M">-,"?U?IM>IR?3VV^SVR^?KR_N;:S"[US]?;[[=S\#M1S"]G'T"'[_<_IJ!
M+O@QNP8G[]Z#=X#EX'[%MY+DJ3SO*8W!:.HEU?NNRO<AS_L@ E]YKE82W.0I
M30\5]#3XV@+T;,$5"FJ\ILD'@.$I0!'"#D#3UR]' 3BX=B@N]&&?0XE<@87.
M#@D6@J^!3CA!%,N7Y8YEBE%YYO);J;;O5FNR^4QN2$(O.CI=)14/M#/Y\P\X
MB/YRV7PD90<>Z-<>Z(>T3Z8\ESQC*5$T!;FN1!F7SIU2JHD+-:;</$RZH]'X
MO/>P;XE#".H:%==B!QCC&F,<C-)E^K?.+5V.E 2*ZWJ4\#QA&06)"[P1,=>)
MB>U&\ >FMRZ8/[T^N/$Q@WLD90>.&]2.&P2#>TVUTH21L@;G*2!K+A3[MWC@
MLKQ4-]B+7W\(!ZT@VT)X?R<<(!W62(=!I#/%D]]=4^)3'=6UYCWI!3FT049H
MV )I"V$TPFZ0HQKDZ 5W+J@0&B'+-48*%'FDSEP962_OHF';C;80@D,WP'$-
M<!P$>&=V>\'9NF4 *=_.U6*;Z>V>\*U.'A?4L>U,U$;JD!E%;J0P:J@L"F.M
MNHN$2^5DILAZ*XSZ;6@.J7'?$V:X1[,PB.V+*2,:6T;UA@2*"LWEWNT8UO76
M<E%I.S ;>>HG1(U!*,QS*Y(OJ33MP%X5E)+JBFKJ0L;(G&7^BEBI/Y:-1])V
MZ(R&\V&04">753H8(J'L@<PSZK09VUD<0ZL:.L0@CGQ;L*%E&.;E.T$WA*6
M/II:2,LP<;6B0C>:N@CEJHJ?$WK?KGY#U 9N"W717NX? F^X&@89;7);8 Q@
MB^W7PB%L@[.EAK&OYC1T",-\6$=^0YY,V$]-:11;ZG*S$[M-?=W^.&IC=Q D
M0A[L#4'",$->5D@ER8C0>7H*=F19 18T*UJ@.<WI@GG\;C,B',2XC=V6ZF+H
M<WQ#G##,G)]+PFSVL)<ZH4V+@[W^L4)I"T%?QC7<"</D^<W5,YYL9<'W[YW=
MH], FRWC<63YV9;2G3+T9!]J6!5%;QIH6/Y Y6MZ7A1DZ[=6^&-I._1"P]\H
MS-]3LF&*9&56ITQMA3M6R";;;AP/^JU@N<0&L:]4HH:549#H3+N64)I6H3K9
M;$6R,@T'7[P'<J4[]:+UJ&)8CC_=,G_<UB"[3QNW-YY#J!M'GKX3-9R*PIQ:
M)T^5+\Z-YP3M8MG(X@.7V##"GJ1'#<VB_IOR9:$;/3U;OB)?@O3]YGPYDK9#
M+S2<C<*<?;@1Z2,5"2OV(9!F+M.USS2_[OC91(TQLC+(*>4)7D/G*$SG=^3)
M9(7!F?%\V2VRA<\SMB1^O"X*C]N]D4MJ@#TS+FHX'(4Y_ 6*<6T^IPTV2:.1
MU=\YI+K8F^D-E:,PE=\L%C0I?$X?DV*L )H7*4BJ$<.,=,9$P_7%!?UGJYOL
MC'H&4&1S^7[#4=GBF*CCN.^QI:%\]#+EZUE>%&/>24K+J_>F?KW-!L>$'$$K
M"1R</X:^Y@HWG(_#D_34!_54-X1+EN=F1^EX/5'B[&JQ8X8>CMO;R2$%1^/(
MD\2XX6K\$E=[T5/3+@9P.T9E/(K: YI#[,"\0]P->>/P2#W;;C89-?5'-QHI
MDTG&I>DS#.+DF57T3BH/;W0Y<G]'/NI@?2QMAR[9^Y@>;@)^ZH!Q494Q,ZKP
MA=H104'&DFJZ2G1\1?LDH7*%8Y"& VL;_A\?RW'3+^ 7/I<7U=L,YN8+VTO?
M ;$]8@^MD<LAI(N"IT[CAM-QF-,/D3;32_%-RXW6)FD8Q^T/JRZI$1YYX#9<
MCL-<WG:LYG+J_C!8*8H/BFV;,!Q"L$W?O;V#N#45R^)\4H+B$T%YHE4_K<]
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
M3/Q;N7^E JDB7-FZ3GZ;TK0<NS(/H7T$74,>>MMD+/JZ" R(GGZK@$*Y,\^
M?-_\E?-D2-+<:*&W!,GW.6'&!%]3Y1[D1CA4<W!),4$(KT9$D(P:_RQW7EXJ
M Y;SW.%T+2>PF;ZPP^#?PI(ONQ2^:0D+H2CKQ\;D>W/*"GY+TEC]G-*,!<:-
M"101DO712:6S&@K%\/Y20I@0_(.C,G8^U'NBXXN\%89*JB?R>9#30.'Y4)_6
M+8-EL0^)G3Y(CZE; I=E<%KLBLA&#/#MNI,P,.X;]]0^5&)P]%8R#"&7-':_
M W#>D8/AE$_+P3] U/^'HO.$'(SH]O=8MD5*)F%&N!U[^4>-T=8Q:,G$_LP%
M;7F73A+/W+J@UV2_Z;7DTV+Q9NE<Z?>AQU$Q,%@GMD,D>XV@!H*AD@C+1Z^-
M($$I%U65E,8H+TZN\/5HK.: /S896&D) 5I<4LDCT$Y7DE&NO<!S\,O[?AT2
M*9S]Q\6L_W8I18FP%C&68C')ZG"$SIDW83?YXOK.57># S$/IAC5L2+7)EDT
MKQ<48,N9PON!.:%LPC6$]9S2E"QXDJ2=NL6T<07%D10#27X_D1K$E[0_[[)_
M>%R?3UPB$,6U M9DX.V[3,]!(P*J75;I&\0P:2\5-^OD.[GN*##&<ML,5 0A
M+]TA>E=1(5=S>69AVE84&2SLZS U8HZ!SN'47!6*F-0'6=RMKG.NF^I'ZNOL
M=J9^O+JZ2=+#<EM2TFTM!0:H&!4K)'_.*1B1]Y&I',25,AP]$)/I1B-PV>5V
MHB167+BZ(YM(MXX-C1VNVA84Q-<+UYH@MFO#2BR!7:(4,WLH,!"?R,*.MQ@.
M3'$*'2T*:>929@37.6:%&OW6PZ^$>K\?T"';Q$QJN$G"EH-(<4Z:=R[ZMN7T
MK"<MF@AZ6Q/8^3TVH] !B/2,"+=<73*S%%K&<W'RKB;K1FTO*V9&&;)>M,CI
MF;@;#DBA4EN)$>K%H(A,$B/Q[#N7%<PM$HHX4Y V)_Q$3H0A=? YNOQ;[[O0
M#="VG!#DU)24HXQNJ<K!$UE[XF6XS> ?H&1$KF1@^5JQGB.!%H/QBNTNMW^*
MY2\>Y6RPY&Q@G?KSR>PE0>XJ%N39A0:QE-8.PVUP'Z%LZSDU%(5F2CXO_G$6
MLT2[.W' SN8= =<.&.+P^6D983W8+R4BGO\ST4 $8:C_X@/3M]BH+Z1:U5!%
MR%!T$<<L'LE"T[F K,GA@)L_FG8=.J%H\/=]ZV:/+&F#H.S-548:Q<4M6VT>
M^Q4!,XCTG^!<29$CR/<! *+48B4PXH;2[^H6U*MBEIHWH5$6-JJ$,]7MA.O#
MAMN@J]#(E=5UJ0 K:$ 8X,WX-*-6*3F:;;,ELVN"XFG=O*/(!G=<L?0F1,(M
M(U(?V\>(8/O8ILM-U*$ F9CSB$./F+YLMA@K!P+N)+!S'=I' 598V-E)YG 9
MZFF_4@O@$C\8:+D+-2)R6Q3";1T*3^:A6''*6VJUU""F+3,(XIIPCO6%!,^P
M09.0D/6Q#:BR68/8SHZCN5/#.=)\2_+IOJ]$Y3.)%T,6@HO<SK,ND;&!:Q?X
M06U_ZUYV##8*KUNS"M64RG&C$6@'Q$%MGUF;'>6\*:D4M2\=+H-DBCL:6%-=
M:LC[^V@E.;5'3>-8G+=:#7?O0#W'5(UE0;[F-A.9/(46@>G?XRZP]>'1K90G
MR%A=UXBOA)93(="4O"LUM0TFZ8- S<^ FGB=<,SGA&/P]%<3TK8,*@C\LFE?
M2-<$30\48F,=,FME?-@F1B>M6D#8J ^2062;%\^<=!R+#DD-,49$6]&F[$;P
MC.U*)C>2DQ5?$LO.%NC:L-L:<BSC)J*G[F7]D+#1P8-S@U*H&+"YCV$:"6LD
MHZ1C4^9*>O92A!7[T:2+2&8TSE5Y+LM;>$*8%8H%%(24'"C$@0KC./A?^G(Y
M*,M:ER'0":8O83.) V,N>LA]Y8"59T)X)6#%,89#9 UY0ZECDC!!#%E#-T$R
M2>%U*HIU^%EFI"3>TWI%%SL,HK.5IR1#=I&ZPX>C8@-ISB"Z S(;[H789&[U
MJNAZ,M0C-DI+>VFI=2\*HX,OB2*+>3?2:2 -*:19T@@Z5=T]2(G(5_#'!]U0
M8I@1PL?4.'L;,U73D/K^Y.KEM.+8]$HLYU3]B."4N[)IAY]9+:]KQ.Q+;O=*
MPVBO-!3N1/+M/E"'$QB!+-Q;0RRM!>Z0:!O))R9Z0N%: 81Q5AI*88.8]:T"
MGC.2A8U8B,-J/LZ\[[) @DIOY-HPS;:"HCHU=H)];:6[@FY=]\RVS-%PN9Y4
ME;\RH"P2B6!P(=P)<ZCYNK>FZ0+B.Y&+:&GV/2+.2W(' GS''H*ZPCVG;PO;
MPE5(8L0KL?23V+)$9:G8P##&SM"G#5-@+O:/E'@GL!N2L-+D2K<;*"6!$!,E
MPJL=R+ESLX!EQT2573,B<]=("/=]%.'DN@=^9X9KJS_&,I!0ATG\Z:%\*D$%
M*C80)D<61PF^A=IQ; 57A^'!FBP]%U[XTXY@NU([WE%HU>EK-R?KRV;'UDW?
M47<-R\?YT4[@'#PN\ZN3OA:2S)P8.'BB^2.$CL!)?=$/.!\U33%S(LFHJRA\
M&\/=$"D1H!]2^#BT'Z2 7C)B69B[IF"YLM^H&QU'KEF"I->LXM"7/WC92K@S
M@$SHF7'Q[O[R,4<22#XNR^.5SXQFND'@).8',O/M]WCC/>6V[#,@[JZC'1NR
MI47*O10PD]2WM?454-;+I8;NSL&YQCY1(D860=QRC^5DN#_;WYZL,7X<IMP!
MB!K#FBB+XQCDB W:'NIM=2)%_Q=0.9&F8\%HS5*WI4AIN".OTCB)(X-S2SE)
M+F5##GP7,I_P[@R*)=(LI75X[TH$%8>](Z ?>@+_-Y@QJY+2%3\9ZFAA$L0,
M0A*4*+]ZE-R'+$]BWH-81A]*5+3*" W%:)AM:_(MV2K!%^":IHF-UB90D#V0
M9*H&.YD=B"U97RT@]O'5]O)<D6HH'4#OY3R]E'BU&MJZ2 (X[104.9B(?"5N
MV-YP$8*_(8D?EJV,S*(R&35OIX.2KA/@DNSI<,%P2J$5)Q7M@A.2\6.TE#X6
M_.=?*ST;#)L.#BJEY+1 &:X'3$*DPX:%D&AM[B6A9AZZ\#GR+I4NU7R6CVYB
MQ&L>J&[@0Y5S6&*)J1T][>N*2R5;^8^]^]('BI8*Z(*&LT!I( <M<JF*1Z[;
M/26=N2!L<SVQVH00]9*.5HZV"5)*QXM;QF*-L/=7*! U9C*E=OD\"5<8JL;*
MK\B*<?F%I1_*PD.296593P63C*\C0+*D^E%K?3K0:'MVI(C9-")I>$E]-%&'
M!>.=PS)T277#9MP>NX<Y(=6=+Z8.Y_"UP3!(OZ@PRGON2! KGI&MVB2K3=&(
MSSX?$*MT#TA.35&2[<OZ0GP6)#,5/3LMS-E)X4WR'N#M[(C,W5Y>4O"[._P\
M?I+%D:W9ZEB@&"V-CG98!(NZ8&$/IO0M<$C##A^Z):'>,;BWE'68OF<[2=?
MBB+24S;"G)28BADM\M=Q\\Q[[,WTT7RJB(-%]\0Z\K"%9%]\,#&0%E8JUWMJ
MZCIZS3U=)^>7_[3__Q=A\^]W<['Q/>-8RL>JC_MS)7'@G]79JXO\U^D%('&5
M4H:ZI-*([T([?LI/QQGGDQ?GY]FOD^>OU!?7<>;L$4(/FUU,3LY>9+_/)V<O
MA\5^("C]2PR=AN1AGHGY88#;:XA$WV;E<4+2<,G\,0)@"4E1ALYU5MI3V4?#
M\QCNQF\_Z\&)<8I>/GCF(@PY9AMC^T,*@!YL)TL>I4:2O/C"'U;J\@YJ#3@+
M\8AX/D+GM-6PKN70BC\:)&";I<GFIKNGKYO#&EPFIZWJH4R0$87-5,BX9):4
M/JNBSY  H^B[:K_BWN2,4"L+R6F+U4:%!FM+[>N,OP1?<!#1AX_)PH;Y N'K
M7@K+.1(-@#!_PH9!>)2K$>G-J^<O7ETJ"5%.U6N 3LDX&8I;72>]/861HC/+
M:$92R0SQ9R5[\Z>SK0W.7D.Z^#Z9MY=41>Y6XVDDN*!TVA!4/<[)B3*65Y7T
M)7VWVW(8++\FTD^#V^?W&L=SL0;4YI>XW)I@Z_35:#H@IQ.8/.R@Y7:!=?MN
M01Y5DX1Q*=G-N1VDI$_-LT&!T,,?%!AYK( AJQ%^V7N!;2Z<$Y=WX]36+.*'
M-4,X.+1)WM=2R0]M*'KN^FY'0KG4!B4)H><ND_;W8.)V_*U>JMY)K2JF5LZB
MLN]3FQ3^'GY"?'#$;6"W*YI_$R#"%#8\1$VQWLX*PI>?TY_(&5IC\\J)7#$5
M]_*ZP&&*PT)A>L@@Y+U] HQ2YCR6#J,,_[&2W[B$]"]S?7O]W,C?93_.U/MP
M%S#I+[KNJ3)W.G(]Y\^?CWX_.WFE_II'L*GW;M01N+/SZ>3YZ:O=QZ\F+YX]
M3_S,0,_VR$-0\-G+YT=[7KS"TB^/A@IE5J_)*\1Y"GY[D=.SBST+OSP]R@F4
MD9:]\#,0<YM$5)<8_TF5F];5C@+L6!3YN1Y6.KV(J))H]\/5[7NI!)3JZO:K
M^JN;\=OIR:M)['<?)8D.O[@&X>.+BQ-(T#5_N!@_E'!9.@GH)OEX7N;T,O3:
MW7Y-RFL6BU",9*!NXX?&*<E)G19+6]=#1\YPC6=\C8O@-TLWBC3I*N$:DB(R
M]8II&OI*!3,-7UC*[QR79&"3&^Y(3@ 7H,IQGY&ZQBI<Z(89,AB$3![)(DMR
M2O%WYME:E,,KLF\WQG>C+K2 #&;[_HC0<?;'I?A/'M"?T.(\?]W)WYE*3]-?
MZ;J2/TXU#)<_\?63IN\V*,188.K)[,6S TD$Q!^=:_A/5<U=U[DU_W-E$!>V
M- #O%P[>+_R@#=+?+GOWWU!+ P04    " #S9F18&N<#PM "  !!!P  &
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
MP:/XXUJA3-?T +Y?%H6M+VB"YC<OK_\/4$L#!!0    ( /-F9%CTGB2PP0(
M !P'   9    >&PO=V]R:W-H965T<R]S:&5E=#$S+GAM;*U5;4_;,!#^*U:8
M$$BA>>E+VM)6HK!IDT"J8"^?W>226#AQ9CL4_OW.3IJ64:IIVY?8=[Y[[CG'
M?CS;"/FH<@!-G@M>JKF3:UU-/4_%.114]40%):ZD0A94HRDS3U42:&*3"NZ%
MOC_R"LI*9S&SOI5<S$2M.2MA)8FJBX+*ER5PL9D[@;-UW+,LU\;A+685S> !
M]+=J)='R.I2$%5 J)DHB(9T[5\%T.3#Q-N [@XW:FQ/3R5J(1V-\2>:.;P@!
MAU@;!(K#$UP#YP8(:?QL,9VNI$G<GV_1/]G>L9<U57 M^ ^6Z'SNC!V20$IK
MKN_%YC.T_0P-7BRXLE^R:6+#T"%QK;0HVF1D4+"R&>ESNP]["6/_G82P30@M
M[Z:097E#-5W,I-@0::(1S4QLJS8;R;'2_)0'+7&589Y>W(HRN] @"R+6G&74
M;)6:>1JA38 7MS#+!B9\!R8(R9TH=:[(QS*!Y#6 AYPZ8N&6V#(\BG@#<8_T
M Y>$?M@_@M?O&NU;O/Z_-MK # [#F#LR516-8>[@)5 @G\!9G)X$(__R",E!
M1W)P#/W/21Z'B7KD(!+Y*C3EA!]<HXJ(E."V0[$&V6T]H65B)B&),8HI#8F)
MTSF05'"\TZS,R!DKT2-JA<'J?$I.3\:AW[_\;^,K5ENG96>9_2WLJA67_6VX
M0*&(98U=5NTJ9W3-.-,O7=X'$KE!.-ZSA^[$'Q&4,,T!)4L3FDEH9K\7O7CC
M&?KDCL52*)%JK!9C75#D+#A_$SD)@B,XVW'L^OW)#MV=#$?D%I2:DNM:2L.I
M$M)J(O[(PX=AFQRXX6A7<AQ%S1%2>ZV/W"AZO15^M*N.71RZ%]Z>8A4@,ZO+
M"H]87>I&O#IO)_U7C>+MPIMWXX[*C"%E#BFF^KUHZ!#9:'%C:%%9_5L+C6IJ
MISD^7R!- *ZG0NBM80IT#^+B%U!+ P04    " #S9F18^IX P[$$  "2"P
M&0   'AL+W=O<FMS:&5E=',O<VAE970Q-"YX;6RM5N]OVS80_5<.ZM!/J>TX
M21NDB8$FW; "*Q TV_J9EDX26XI42<J.__N](V7'01(7&_;%EBCRW;MW/WB7
M:^>_AY8YTGUG;+@JVAC[B^DTE"UW*DQ<SQ9?:N<[%?'JFVGH/:LJ'>K,=#Z;
MO9UV2MMB<9G6;OWBT@W1:,NWGL+0=<IOKMFX]55Q7&P7ONBFC;(P75SVJN$[
MCG_UMQYOTQU*I3NV03M+GNNKXL/QQ?6I[$\;_M:\#GO/))XLG?LN+Y^JJV(F
MA-AP&05!X6_%-VR, ('&CQ&SV)F4@_O/6_3?DN_P9:D"WSCS55>QO2K."ZJX
M5H.)7]SZ=Q[].1.\TIF0?FF=]Y[,"BJ'$%TW'@:#3MO\K^Y''?8.G+]T8#X>
MF"?>V5!B^5%%M;CT;DU>=@--'I*KZ33(:2M!N8L>7S7.Q<6-ZSH=H7(,I&Q%
MI;-1VX9MJ3E<3B-,R,9I.<)=9[CY"W#'<_H,A#;0K[;BZC' %-QV!.=;@M?S
M@X@?N9S0R?$1S6?SDP-X)SN'3Q+>R?_E<(8[?1Y.:N8B]*KDJP)%$=BON%B\
M?G7\=O;^ -G3'=G30^A/R-[\C.Q!N.?)GD_HH";TAXZZ4:F&WM"?+<OV7MD-
M:>PVP:&@E]]09!0=K937;@CD8LN>##?*4.]=R5P!<$0W2G>!8JLBM6K%A#.!
M+6F+-2;GL17] 2P&'_!>TW((\"2$"7UMM6'DOT7#$+XH$>_Q;S:T9*-YQ2.P
M(*$P->H6$$,L79>@L [,?4IK;0Q9M^5"<L)K\%;5BH4 U[5XYS*]T?G7K\[G
MQ^_>!]$J.*,KG*JH!G.()DZ[H)-DSI,#CH*1"*95$#\?'4(DP#0(._1:GY0.
M1V0>9(?0>QIK"VW%]\&6[",:;T28)G0W+$-4>(%YSZ58W9!J\#W$?>I;H=42
M6]Z@"0I:"2*W$%?W/:1.S=()S\%4+PJC ?=$F*,4X\'6:N6\6B):?C!):"@Q
MTI*LVD8[)<I^//Z-S4<ZCN+99J?H: /KVE7RMFYUV::U3&J/TX9<B62"CI]P
M5U15BM[1LR'GL,VK.N.[R%GV9Q7Y+ZGR\P0A7,@/8:2],#ZMNBQIV2K4]%:4
M>HB#Y\E^0>^(9@15EGY @0/;)![(O8,5K3RG&[)Z28"*$4U<8CFKX<ZZY11_
MN"(5J,BX$"3=86$IR?.('XBLY%:6>I9,%P(O<5GKV!+?PYY5(N=@,0F(!RH$
M=)+1 /(];M*Q;4R3RL(B6]YI(+ZIZALN9+BG:[)< @9M:MN3'A=83)4.<Q@0
M\#BV'1@ H4 KW3B/-FFD6L;$'GO4V+YTW&.4PX>1"[FK>C"_3Q_0\WXY/9L=
MS6:S74DWC4>$D)I+WCA;I>3VN(A)=9 @9C^ %)R%O!O)O:"3SI]J*K4OATZ4
M+<5J2I='%0 'I,\"X,>@?<Z(;&'4)E\AR8-,>LD/)2RM*THV]<Z+BB^4 Y9S
M\:6X/)O[$\)$AGG+TDUJ_^4&15MQ9W6MR[$\GKM]IWMS4L>^2=-@TM?&/#+M
M5G<#YX<\9SULS]/J9^4;-%841(VCL\F[LX)\G@#S2W1]FKJ6+F*&2X\MAF;V
ML@'?:X>N,;Z(@=T8OO@'4$L#!!0    ( /-F9%ANLFFY?@4  +@.   9
M>&PO=V]R:W-H965T<R]S:&5E=#$U+GAM;*57;6_;-A#^*X2Z%2W@V);DMZ2)
M@23ML +M5K3=BGVDI9/%E1)5DHKK_?K=D7JSG:1%^\46R;OG7OC<D;S<*?W9
MY "6?2UD::Z"W-KJ8C(Q20X%-V-508DKF=(%MSC4VXFI-/#4*15R$DVGBTG!
M11FL+]W<.[V^5+65HH1WFIFZ*+C>WX!4NZL@#-J)]V*;6YJ8K"\KOH4/8/^J
MWFD<33J45!10&J%*IB&["J[#BYL9R3N!OP7LS.";420;I3[3X'5Z%4S)(9"0
M6$+@^'<'MR E :$;7QK,H#-)BL/O%OTW%SO&LN$&;I7\)%*;7P6K@*60\5K:
M]VKW.S3QS DO4=*X7[;SLN$R8$EMK"H:9?2@$*7_YU^;/ P45M,'%*)&(7)^
M>T/.RY?<\O6E5CNF21K1Z,.%ZK31.5'2IGRP&E<%ZMGUGQ5H;D6Y96\ @S.7
M$XNHM#9)&H0;CQ ]@!!&[*TJ;6[8JS*%]!!@@NYT/D6M3S?1HX@O(1FS.!RQ
M:!K%C^#%78RQPXM_(D:/,+L?@2KCPE0\@:L J6] WT&P?OHD7$Q?/.+?K/-O
M]ACZ=_GW.,+YF!V#L(\YL%M55+S<LYP;=L>U4+5ADI89WVH +"YK&%8V$_BO
MLDPDJ,C+E%&(.$!^2RP:O6<)BH(VXQ/8%' >B0DILSFW^ -,"_/9XVR@A(S
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
MR2N@'M!$H:[D7-C,MZ00H\H2T761]T&W0V]3W1R)#8QOCA0%X[NX]FV):MO
MEFKZ <@YNH!@DB&Z<310RQ"3GJQ"ABK!")V+[( 0XM;G=P>D\1L*W#<"#2??
MH< _J;I/UN'9026>O:$67RB-9#X\+M<>:3?;DNFBLS 9>T>>]'P/8A(E%Y/#
M^\GRH!AXEE5%)?GI4HO8;BNPF1OP0RR%L.TSF+[4O3$IJ7%$/EF/VN4DOCAL
MEY->_Z0Z ([*>W7\<M_ ]'ZRKQWTL16.,@I#Z%]TWMR=2)7PXU:-KFO-QXWJ
MGY.U=YZZ'<745+UX'B7%<CFF7V3)WW"(R%XC-(_2Z1*I=(R)_85&HV84/I&G
M#04?4^^SZ"@\CR89RBCD(5GEO1C76DIMFGE6:K4YIVGR<,9\,2?BE^U_%:R3
MYT>>&1'=$>#H5< Z-N 6WP+*8))_-9"R-_OY.9?X.0>;X<N:QX]Y&L;)H^Y
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
MC&MRPT0!#BL%S6^88_0]_"&Y]I'G.R6==[? GI$!EP!4Q<Z#?(T:=??Y,'!
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
M<>F<<F\U?>5D9]>_*F.@1@WW)=.XC"QANB]1WMMO.OOD%?LX@<]*VM+ 3[+
MXA @(C(CHV1@M$E.(MYB'D(:SR"9)^D)O'14F'J\]#\K[.S/7[9W67%M:I;C
M*J"P-Z@?,5B_>Q-?SC^<8'<^LCL_A?XOV)VVCR]".,2 =V\6R3S]\,/>%/U@
M2X2_D.G>S4=[R&E8943!.6Y8= YTCP1^H^HB'$MFK>998UDF$*R"3U*J@N*6
M!N1U)@NX;S+#"\XT1S,BO87W\P4]XWCV/KV KS[7B 9[1$VE W)5593BQNDW
M0+7'6,+B<O?,93&+T_AY>C5+KA9PRT7CJ@+@=DME M3VP%C5KG(\TS@[TGT&
M-\7?E*7$A0HD% ,>$:I)I2\\IRD,TPTS/.\NR;G22P%N>B3";XRCY!S1]O+/
M!OFR\7=/[%^_B*+1@_V>'!EVV@F72S+"5P[-]C2F"ES@:,TK2@9_56Y6*XO2
M<B;(S#1,YGA$8S:A;NG'81J]!RIL^0-4:$M5S(#V3H7!L;!C16$?F,H@&,Q)
MGG4A8TMFP<F0RCKNA&2YBS8N*=X8Y(+1%4\X.B*SCERKSKK/':]^%]V$HW_L
MFL9@$<+O?9 0>MWHO*1?!%R&*15K(?C$%X<G^G 9G 'HD^H@B7SRM$@G3;U(
MJ>.%D=-$4WCO>91IO-%)1>_;[SAGF#,B[2WZB&]5(\C-2+EG^1"^X1B5+XF[
M^"'BDO]5W!/JG-.DUKR+2+<ZI+,_>$>1:-'19-TI0\Q1;_) Y>K \C"M7)FB
M56H?% &59.AI9XARS!87Q&:2'?BMX7;?(X0O_3BBR4^\0KWSK8I+Q4;:[G\^
MKH[=T$W7!#QO[UJISTSO. D5N"73>7A%S8?NVI-N8E7M6X),66HP_+"DC@ZU
MVT#?MXJ(]Q-WP-@CKO\!4$L#!!0    ( /-F9%@ $L@MX 8  &,2   9
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
M1$P(!8%SR]8",+!_$3;6&S?44#0?AW@+LO'V[_0*M-&*+(-N@% Z:, #X[/
M/Z:9D7:)8V9Q@'#K?H]- QU$Q"(C&Y!U$Z00\PESE6XV9L[L/!-:S8D!:\*?
M(*3GNS. "5N\>'ZH9#>DGW3Q26^B:AW0BEF+]XZR3CM_^$;O]I=OE%D#!_@-
MSG!-2>1RD!+88!$OCZ,U4#AK$'"^@36D+6HXC3  GTS@?^+E3)I(^UZ]??CC
M.UJK;.@H007INB#%5YNU#5,C=V-_3X3R Q9,A-]"Q%T#IX!4'Z2 -C,B] #\
MB(UF-&!EB3]%=8(US=B1B5H6HZ[>SH0KC:A.-JO"6,21],A\=E47[7$[ J-;
MK]FX@8%$&&U=5%W)BH1\3/6>19=7G='#'\DBJ3>L>YBY""%O@_[A0?0 >N3[
MH$?>1CWR/NJ1L['%U0]D1 /A1N6(V6[4>@YYRW?[/:-*=&!$'/AIU=F*97 #
M:C91X^5X$WM[QL (_N_91+0G^ 8#H:+W#B:X)-8)+T@<=;UAEX EI8SNB]!C
M:&?'^6=\7B10KK^!WTX"'QE,/$XLL 8WS=N.A?G=NQ_%S>C] '(=]JUGQ0#K
M8_9MOA8_AJ4"2;R1,7O2XG4+70&V\Y'8=&H1%4;1[JZQ<,5P<( *I<_.P!IL
M&J0Z:LK.BT6OX:V:6ZQ@(1JF'*ISMGT)V8UA[5D8YKR!GFK,C6Y*(2">S7H?
M1OB:S!"<TY;%,:,30;SI,!5N5T7*5A,*,.+6%C.ULCIH"]WLX""0_MR#"L0.
M])BW@Y3IJA,&ZBG*_.P*B^V@K:W..:EQ*P=(?/X,M(*FH>$)\NPM;\:( \#-
M 3,&WX.9412"%S<RNA^SZ(^,O2CED2=1T-4&&JO=[H1_*,BFH:R/R.*R&)C;
M=J8(>;!+NBNM(\U5FL#1M<?$8R<,W%O97\D*J\\:I&Z9!T#"4O2_;<HYN N/
M6X<P=T8$VM,XBK#X$:\?/0UY% 05 "6'B_DVW]>S*^\'ZXE+EF8D%R=X-#74
M-50(HTO,'MBX*T@9@#7 3Q2O[)B#V",;.G-1I^-XKFOACH]+]V^"A\0&GA:Y
M1JV;MWK#UO+84HH!!Z#@*[B7\%P\,SK!,U1VK?:?@KY)NP!TO?==Q0?.'9GH
M&9+>R9&ZU<2<-0<70=+%A+L.NH(? .,7YW/R8((=Y$7O=Z+84="E! L0/%/H
MCM5O<JLQM9J+Z\CXLF2]@'8F!3F+!4<A)V7'<12/ 88_PZ7&W T=CP\"CFG
M@4*APFW%.@!1G,>"<)T>2%>0J '(_J[&&.PI^P3%!C>()4E7R89Y(JD7M4,D
M-PU3#6\/SC-3'8<<.K@!.IKMTM'"RN\-:0>LY8,V$&\M&<3$#!5;T8T)%K."
M'>KH9P@F3\@2G)[]%F,^D&!RF'SNV:=]Q%EN*2XF#AL 1)9E2^%7,,<;IRL_
MZK+',"*+>T]NH.P,A6R2VA,N9,\=E*5XIU=8(%I'0<3V#C@FKV)G6M&4HMWH
M:-#3MA0MN(WX$!78[0^?*TWVYI?.0O9/1XS2$3JBL8TG=3=U/!&94.&]<2\L
MUP5Q=XZ'>ZUXY*0P:LN2XI; (G-FD35X,M>4_5.6)^U-[]\< 9(".>&D:"2'
MR8'DBO"8@"/5AP"LCX/XN2)$TA(4Z^J.[!Y'S%'865B9!>.X&,Z&L"/2*1=*
MD?SD&&3>%F\<\TBT0O '>[,J'E0*S<$?M4\QV4P>4BB>_=S>@9MK$U_B\(XY
MJ1^!,[,2ZE< I)6EX"%:;\_))WH''0NY(8D;MPT]&?R>(F%56O;"^E.&Z#R&
MM9HRR=EK8"U1>Q:#%SIQ2IMXTGNJM3OPK)N3 V/Z5(3!"=T.+-,8F)_[^1;;
M#!W:?>[C3X0 HZ>>3#XD7H_L/%,U_#H38KK(AI+TNR^?1XF?8--")B:$?)G*
M.M1-Q)@^! -C8 $B,".<3S/7?J[G@<W4R;76UZ="'1\H?N#Q>Y,M%(C44^@0
M/5GD R^XT>*HPSN8L;6-L/7R_@F>-9"Y"0/PTI'S$#VHQ@2+N+5[H5[OA:L8
M]6>;QJ"T#W^#>(LY&^2!*+-*K&YF1WX#!6%D:(Z1*7D4^,ID*QOP8%/Z0^&*
M_FHFL60ER,,?$!TC2B8.H6]Y?GE]5T.+W.+GXNFCRU'VBT..X4K[^2/P.-D&
M46/7H[0;V^*EY$ D2\W,3-$5AG,F07SI,8<T)GN;GD;9\W%-<;6QE>3(#H%.
MNE$$).0.=P@&BSPEV*TJEO/H'6':FE0V96Q]3W/Q-]G%;,FK$%>AM#XF42F?
M2AX$!OP+7F"=>2J#* BL"U4#1$"YL?,S9\T5XLB=JVU+.<)H+7Y%=%:Y%:;7
MY@8. 3!6(_JX,2M$48@=' _]^//IT4[C^,HSHI*8]!+0BL^\IKR*A)-D,X1X
M[;8Q)CQA@Q)J"R_4FT!P3F9<)TUX\N;--9S(R%"<$!$ZG4V4:QZG<LWCR2K+
M>Z"@L/M*Q.YU;HO&2C:3BXU7EB9V4!,'>)(.\&3R #])B)"*8V-03ZXP#O7A
MLE.@/DV@/IT$]0,L1PW+^ 'BOJGM?3C^W8LD!VR*@R*C@=/#"M:SXMF(7H$L
M0+8M%2VTEW(:+8D0I6XYK)+2%;TA;>\AEN3^A$B\C$$;Z7R7I>.3G\0"(HF=
M(!5Y1A0"+_Z;#/04YHCX>!HG6F,#R1$W)R*!S5MZ#G-@JRJ6 MD;P3YSHA_\
M>R@@G R''IZ;3.XHC >[K.VM*>=KD\'1ISF]0K2M?%:WA?IQG'ZL(K[)3QWL
M/, SZ6_2"%S;RC&#P&/K."S6J10\NQ_J&9%G9R%MK:O#RQ SE;VG'I7)OXTG
M_JO4OU(!5=&3/#A.?IK2-)Q68!K".%%4$4H$A]I\W=5%($!TP@YJ6Y36]!PK
MC<W?.D\Z/LV-QO. D7R7(V:(\!WU+P#=B%1KCOLI7 N1[P )DNSDG^71RTME
M0'*>VT/7<&V!\0L3"?JM+;D9ET(W+1$[!&5WWYA\;\XFPJ60#&.WH@QP@7%#
M!$7GU?KH/R18#47)>'\IT67(RX"B,G;5E^*B3Q)I*P25+%RD<\^G <.KOG5
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
MR2=B^^'RI=T?-=WCIH!_C:GG9T_!AXU\O%9^M&[/'XQ=N;9U._YS:S2<;!J
M]VL'GRK\H W2)X1?_A]02P,$%     @ \V9D6%'^'!#( P  % H  !D   !X
M;"]W;W)K<VAE971S+W-H965T,C8N>&ULO59M;^,V#/XKA&\X7(&L?LMKFP1H
MVCML VXHFF[#/BHVDVB5)4^2DV:_?I3LN.Z:RP[#MB^V*)&/2.HAI>E>Z2>S
M1;3P7 AI9L'6VO(J#$VVQ8*92U6BI)6UT@6S).I-:$J-+/=&A0B3*!J&!>,R
MF$_]W+V>3U5E!9=XK\%41<'T88%"[6=!'!PG'OAF:]U$.)^6;(-+M#^5]YJD
ML$7)>8'2<"5!XWH6W,17BX'3]PH_<]R;SAA<)"NEGISP?3X+(N<0"LRL0V#T
MV^$M"N& R(W?&\R@W=(9=L=']$\^=HIEQ0S>*O$+S^UV%HP#R''-*F$?U/X[
M;.+Q#F9*&/^%?:,;!9!5QJJB,28/"B[K/WMN\O U!DECD'B_ZXV\EW?,LOE4
MJSUHITUH;N!#]=;D')?N4)96TRHG.SN_0Y-I7OH,J34L*D,*Q@"3.2SK@W+S
M2[Z1?,TS)BW<9)FJI.5R Q^-Y909K/7OE> 9)^'#(UL)-!?3T)*+;J,P:]Q9
MU.XD7W G3N"SDG9KX*/,,7\-$%)L;8#),<!%<A;Q#K-+2.,>)%&2GL%+VX2E
M'B_]'Q-V*D^U%_W37KA2O3(ERW 64"T:U#L,YN_?Q</H^DR,_3;&_CGT^9)*
M/Z\$ND"(@=G3MX[X.62JH&9@F \>G]T83_E^'OUQBW^+2O4N*$TY6 66]&])
MA\G#^W?C)!Y=F]H>2L&D@3UJ!":$RKP%,[!6).V)AUR2M:H,)=M<7($SC]+K
M?^W_*S)=$Q6(9EBL4'NJ'=<=Y=PG@3NNJ0T!]5+-/!$R9:QI%;^!9-+O2G$?
MEM2IG*8C"LNI]+FQSGB'QR2]V*>]49IVI&@X@4=EF?ARHE\VZ_>B9-21TUXR
M/E<I@Y9%@Z]F$9?U_>$;\8HN!W)&4CB4$\'9B@MN?>.@?HI:DZ\:=R@K/-E"
MSF_KZ&5=_X&5NW*@U&K'<P+_QS[X(W L-)VBSK9,;CRJ7UHQXF*&1#WMY0-1
MPP"^Y8;GA -TO.C1'J9$?S.)PW_&UY/D?$72CI# HHF%6?B!R<IUM/@57]+A
M\)4\B";P(ST@_IJY8W*(]5SE;W>.>\-X\G9ZTAL-AO#08%#A*$K['_@6X -E
M<# >7IQ8F!#T^ )N*_)'9@>@<Y9&^,.O>Z\BQS05UF]TQ](CHU.,QW^<]$\
MC^.+;H(ZJ?6E,Z!D-BDZ54)AYZ8N4&_\>\2 OQ_J2[N=;9\\-_5-_Z)>OY<^
M,[WA%(S -9E&ER,J"UV_06K!JM+?^RMEZ17AAUMZMJ%V"K2^5LH>!;=!^Q"<
M_PE02P,$%     @ \V9D6(G]LQ1@ @  &@8  !D   !X;"]W;W)K<VAE971S
M+W-H965T,C<N>&ULI55-;]LP#/TK@EL4&[#%CNVT79H8:-H-ZZ% T63;6;'I
M6*@^/(ENVG\_278<;TASZ"X629&/CR)(S[9*/YD* ,F+X-+,@PJQGH:AR2L0
MU(Q4#=+>E$H+BE;5F]#4&FCA@P0/XR@Z#P5E,LAFWO:@LYEJD#,)#YJ81@BJ
M7Q? U78>C(.=X9%M*G2&,)O5= -+P!_U@[9:V*,43( T3$FBH9P'U^/I(G7^
MWN$G@ZT9R,15LE;JR2EWQ3R('"'@D*-#H/9XAAO@W %9&K\[S*!/Z0*'\@[]
MFZ_=UK*F!FX4_\4*K.;!94 **&G#\5%MOT-7S\3AY8H;_R7;UC>U&?/&H!)=
ML-4%D^U)7[IW& 1<1F\$Q%U ['FWB3S+6XHTFVFU)=IY6S0G^%)]M"7'I&O*
M$K6]938.LV6E-)(5:$'NY#,8M ^.AGPF"BO0Y,.*KCF8C[,0;3(7$N8=\*(%
MCM\ 'L?D7DFL#/DJ"RC^!@@MRYYJO*.ZB(\BWD(^(LGX$XFC.#F"E_2E)QXO
M>5?IARIN\=+#>&Y\IJ:F.<P#.Q\&]#,$V=G)^#RZ.L(V[=FFQ]"SI1W'HN%
M5-GUQGC^Z/BS/?]#O(\CGYU<QE%R1?[WM/T!L;;$7(_^O70]<Y_XW? KNW-,
MHU_)FG%N>O.I;=A>3K^DY 8TLI+E%,&XURJ@5H9A[S5.]V+R?CH**1]D'J">
MDDETL=,.M3X<S*L O?%;R9!<-1+;T>VM_>*[;N=][]YNS7NJ-TP:PJ&TH='H
M8A(0W6ZB5D%5^^E?*[2[Q(N57=Z@G8.]+Y7"G>(2]+^#[ ]02P,$%     @
M\V9D6/CM45X@ P  )P@  !D   !X;"]W;W)K<VAE971S+W-H965T,C@N>&UL
MI59M;]HP$/XKIVRJBL2:%Z!E%)"@7?<B5:K:;=4^FN1"LCHVLYU2_OW.#J2A
M4+1J7XA]OGON.=_YCN%2J@>=(1IX*KC0(R\S9C'P?1UG6#!](A<HZ"25JF"&
MMFKNZX5"ECBC@OM1$)SZ!<N%-QXZV8T:#V5I>"[P1H$NBX*IU12Y7(Z\T-L(
M;O-Y9JS 'P\7;(YW:'XL;A3M_!HER0L4.I<"%*8C;Q(.ICVK[Q1^YKC4C378
M2&92/MC-UV3D!980<HR-16#T><0+Y-P"$8T_:TRO=FD-F^L-^I6+G6*9,8T7
MDM_GB<E&7M^#!%-6<G,KEU]P'8\C&$NNW2\L*]U>Y$%<:B.+M3$Q*')1?=G3
M^AX:!OW@%8-H;1 YWI4CQ_*2&38>*KD$9;4)S2Y<J,Z:R.7")N7.*#K-R<Z,
M)W$L2V$TW&*,^2.;<83C[_:C6T/?D >KY\=KM&F%%KV"%D9P+87)-'P2"2;;
M #Y1J_E%&W[3Z"#B)<8GT G;$ 51YP!>IXZWX_ Z_Q[OOC KD.Y^$/M0!GK!
M8AQY]!(TJD?TQD?OPM/@_ #%;DVQ>PA]?$</+RDI#S*EHEW350?I'@8\>M>/
M@LXY_.^7<H'%#)7+Q\M#FQ_[$\%G);6&R2[S6O<]A+UV+^@U!4'[K!O"A%.7
M8")&H'X#B2QG)BWY\S6\]'H<MJ/PK+5?WFGM8]$&0;V./';;4;]/BX_M7M0_
MD+=>G;?>&_)&S28W*\BI\6S%%"M,<@.<[@CUOEP>=C)I )L,7X!;R9:#6KI"
MI@#MH]Q.HTO;DFE@5M>":3AVV++43"2Z-7ASG5RM??ZR/ETCV%]"SO>4<4>?
M&?C&1$F# 39'E".;19@D%!"U< UQQM2<X(P$?**YI'''>3<ZA7N5&_P@TY3"
MFM-@TJ9Q3SNE0A8MRYD:N*"6JQ2*> 5&,:$YJT9'\ILZ,8TB\^RF27PWJD9A
MVP+=[/=5F=]HW@52>'9$4:BV;JL^7DOK*3BIFO^S>C5"K^EV*%K@F))I<')&
MM:2JL51MC%RX43"3A@:+6V8TR5%9!3I/I32;C750_S<8_P502P,$%     @
M\V9D6+)OBX8@ P  I <  !D   !X;"]W;W)K<VAE971S+W-H965T,CDN>&UL
MK57;;MLP#/T5PBN&%G#K:](T2P+TB@U8@:+=Y5FQF5B8++F2W&S[^E%V[+I;
M%FS#7FR1(H\.*9*:;93^8@I$"U]+(<W<*ZRMID%@L@)+9DY4A9)V5DJ7S)*H
MUX&I-+*\<2I%$(?A."@9E]YBUNCN]&*F:BNXQ#L-IBY+IK]=H%";N1=YG>*>
MKPOK%,%B5K$U/J#]6-UIDH(>)><E2L.5!(VKN7<>32]29]\8?.*X,8,UN$B6
M2GUQPKM\[H6.$ K,K$-@]'O"2Q3" 1&-QRVFUQ_I'(?K#OVFB9UB63*#ETI\
MYKDMYM[$@QQ7K!;V7FW>XC:>D</+E##-%S9;V]"#K#96E5MG8E!RV?[9UVT>
M_L0AWCK$#>_VH(;E%;-L,=-J ]I9$YI;-*$VWD2.2W<I#U;3+B<_N[C3=+_:
M?@,F<\#'FE>4<0N'']A2H#F:!98.<:9!M@6\: 'CWP!&,=PJ:0L#US+'_"5
M0.QZBG%'\2+>BWB%V0DDD0]Q&"=[\)(^Y*3!2_XJY%V1MCCI;AS7+E-3L0SG
M'O6#0?V$WN+UJV@<OMG#,NU9IOO0%P_4?GDM$-0*JIV,?=@4/"N RTS4.0(K
M52VMH5;)E*;40TT7H"%C%;=,@$ J7K,KS/U$=J?KGP[W@6D$8YDE V8A4\;2
MEC'4G%E=UJ+9R)'2F7'6=BT=2MC:\N^MXI!+L(6J#>V8([\QR!0-"8*B5-D"
M8:4$S1HNUU-X_6H2A\F;__:G6L1R28&Y>NR4KB[=)X;KOH&ZO0.((C^)1D-%
M["=G$5RJLJHM01FULAN7F,XD]=/Q:"BEIW!3:\EM358O&[6SBOPHG@RE<0+O
M7=(+)7+@)970$SH/\TS;'Q'P0!JE<+F]+S=*C[D\)K>U=A?T<R+2)/U%=PP?
ME'/N69SYD\G9($UTQ(A8&3/]BPOOW ^C4W\<3HX&BHD?ING1+SP.*)AX$KV0
M1U&TJRF#P>0L4:^;]\%005$QMT.TU_9/T'D[>9_-V_?KENDUEX;J>46NX<GI
MR /=O@FM8%75S.&ELC35FV5!SRAJ9T#[*Z5L)[@#^H=Y\0-02P,$%     @
M\V9D6')-%&V"!0  )A4  !D   !X;"]W;W)K<VAE971S+W-H965T,S N>&UL
M[5A=;]LV%/TKA%MT"J#6$B514IH82-*NZX .09-UV",CT;96B71)JF[ZZW<I
M61(5.W;:904&[,72I<G#^WFNR).UD!_5DC&-OE0E5Z>3I=:KX^E494M64?5"
MK!B'?^9"5E2#*!=3M9*,YLVBJIQBSR/3BA9\,CMIQB[E[$34NBPXNY1(U55%
MY>TY*\7Z=.)/NH'WQ6*IS<!T=K*B"W;%].^K2PG2M$?)BXIQ50B.))N?3L[\
MXW-BYC<3/A1LK:QW9"RY$>*C$=[FIQ//*,1*EFF#0.'QF5VPLC1 H,:G#>:D
MW](LM-\[])\;V\&6&ZK8A2C_*'*]/)TD$Y2S.:U+_5ZL?V$;>R*#EXE2-;]H
MO9GK35!6*RVJS6+0H"IX^Z1?-GYXR *\68 ;O=N-&BU?44UG)U*LD32S <V\
M-*8VJT&Y@IN@7&D)_Q:P3L_>")&OB[)$E.?H+=>4+XJ;DJ$SI9A6R+FF(*FC
MDZF&S<R2:;8!/F^!\3W /D;O!-=+A5[SG.5C@"EHV:N*.U7/\5[$5RQ[@0+?
M1=C#P1Z\H#<]:/""[S)]E\4M7K@;SY3/L5K1C)U.H#X4DY_99/;LB4^\EWNT
M#7MMPWWHLRLHQ[P&]<0<94O0E2E4<)11*6\+OD"T$C77YM_%QJY=%NS?XWK)
M;&QMQ/OQ$5!",^>648F8B3*"&+'JALD^3FC-)$-4P>02"  RJ@$6M0*OJZ-C
M].Q)@KW@Y<'G.2TISQAZCGZEO ;^0-T.3Q%VO2!!4*50@^"26DK&LUND)>6J
MI&WUYW]!,0&;Z!XQB"W0;<6[:0U\'.T)8=2','IP""]$M:+\]B<%O/2I+B3X
MKAA2D+;59Q(SHZM"T[+X"C-R]AE8= 5O2LSUFDJV*\;[E7C+6R9O275!96ZB
M:\*X4>F?*836$.M'"/>_];P_SG>?73I==.ETW\0W4BC52V=95E<U9!TXI1N[
MMA*Q&_N-Z2VDBZ[8/M"R9@-D):0NOH[7GVTG])WE9UT<MVG]L)>ZN&J6+;DH
MQ6*PWQ1$FJ:6[&"7A-Z1-1);[P$AX$33R<#MDK5^4,MB->@!%9:27G)\@(L&
M.-_K7T/B&V_F\&4"7RU-/FHC<EJQ 2Z)\  6Q^$ -8PG'KJ$(''+&^&0#(YM
MSO.!,M [EA<42@5<FFED6J[Y)A@FN&%J[0U^P;YER&!CDL3H6D =/21,3U'J
MA@FV/1Z[,1YY/(@LP7?C-#X8Y<=Z7EB,,&3.5<<(C[0<K(I<;+D0O$#<A&#;
M"S[T@4%*FF@<P']N6MVE% OHV<H.9.+MR #'M^()DTBZ">/#K4A<DAZP MOU
MX_MN"FG_HZ+9FF,5>^+ZL>U5QP_=*!DK3/ H"&X<)3],X8=2/3ZXXG_*OY?R
M ]<G=R@_)(F= TX8V"*!##C(^A@/:0*L'Q&+TIS02C&"R4-XWRI9)[8IW+%4
M]0.\3?T#>SJ!/7? /DS])+2LP6X064".[2P?#,??1O]I[-F^CB$<X<C[/AFU
M ].1R<&@_^<Z@.\FH=WHG- -TG$:!N%(CN'3(OV^'H#=.!F(V.H!Y&@TQ__F
M%A"Z), 'S(A&\4U=.[E_> \ A;V1PKZIUE$/<"(_'#<Q-\)]"NXY/I'^^$0>
M?'QB2A=50[C49DKV9<4XU*0YF6Z=7G:=E?;O^'K8A<.9L_R&S9"J;Q3[5!NR
MUF+'L:-XE&/2G^;H/6H6 !Y:40C=%*=F<*B: ,B$F*%M?H!L]D+SUY#V<= L
M'Y@M@B_+ZR6<ZNE<@T$]/_K;1ZF[GP*[DF!JW5U!JU@T-W0*9>:VH;W&ZD?[
M2\"S]NYKF-[>(+ZC<E%PA4HVAZ7>BQA.PK*]E6L%+5;-3=B-T-"7FM<E@RXB
MS03X?RZ$[@2S07\U.OL;4$L#!!0    ( /-F9%B0@(XU/@<  &<9   9
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
M]+5_.JZG^P?X5ZKG7!JH8 :NT?D SF#M'[6^8U7M'I)39>%9ZIH+^!_ -$Z
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
M8!0RCQH _3/.95E1"U0/59-_ 5!+ P04    " #S9F18%ZDAL<8#  "?#0
M&0   'AL+W=O<FMS:&5E=',O<VAE970S-BYX;6SM5U]OVS80_RJ$.A0VX$42
M)=E.:AN(DQ7;T&Y!DW7/M'2VN5*D1U)Q\NUWI&Q92ATC+=:A#WNQ>.3=[_Z?
MR<E6Z4]F#6#)0RFDF09K:S<786CR-93,G*D-2#Q9*ETRBZ1>A6:C@15>J!0A
MC:)A6#(N@]G$[]WHV4155G )-YJ8JBR9?IR#4-MI$ ?[C0]\M;9N(YQ--FP%
MMV#_V-QHI,(&I> E2,.5)!J6T^ ROIBGCM\S?.2P-:TU<9XLE/KDB%^*:1 Y
M@T! ;AT"P\\]7($0#@C-^'N'&30JG6![O4=_ZWU'7Q;,P)42?_+"KJ?!." %
M+%DE[ >U_1EV_F0.+U?"^%^RW?%& <DK8U6Y$T8+2B[K+WO8Q>$E G0G0+W=
MM2)OY36S;#;1:DNTXT8TM_"N>FDTCDN7E%NK\92CG)U=J1*3N791O@<BE#&D
M=\<6 DQ_$EI4X-C"? <VK\'H,V Q)>^5M&M#?I(%%%V $"UKS*-[\^;T).(U
MY&<DB0>$1C0Y@9<T[B8>+WFQN\>\K#'2XQBN32[,AN4P#1#+@+Z'8/;Z53R,
MWIRP,&TL3$^ASVZQ[8I* %%+DJ.U2H*TQE$LSZNR$LQ"091=@_;G3Y+'9(&]
MD@MF#%_RG+G2-V2I5?DB^6/1.&WOW1J^RD[/BNF%<H$<^Q1[^W%!!\]X@G/E
MQ3IP9!$\(X_ M'$K2<#5)6)K(#YWT@$LW&@B/2Z11U4&%9O^!7G]:DRCY,UW
M]\5AA*-&DJM*:Y#Y([ELQ>)W'XNG(C>[(?J.LP47W#X>P!C7Y",3E:^W_>Z=
M9M(('_%FK]LY3S5<%G_AK,)A;9NM:]#\GKF9:TZQO7.9^J]B-V>"R1P(L^17
M)BO\%R+[PMNS_$!ZXV&_32;#K$/'@V$VZNS001R-^[O@=PN12Z2!]%Q!]K'2
ML";A\[(>$ F^KBU[:(6KEU!Z4!2/LV:=1J-F34<1N5.6B><[X4OUILZ=AHK'
M49L:T*Q+CQ/D_@V!6*DJ3.U!#5:D503;3W*Y:N,?Y"F-F_6/A]UXU$[6YW.B
M%?TTINULI'$W61UKZ_31N/_-2^W_]OZ.VIMVVCL;=_L[2SKT^3A^VMWG]!MT
M=S8\5"I691RW>VXX&G9[+D$C_^4NI^>CCHYT%'?HSICK)8.49E_6YS0^>(@.
M1L,CG1X/DM.]WLW=UXWF8_>RL'5I+D&O_-/ 8%S1M?K^W.PVKX_+^M)]8*^?
M+N^97G&\G A8HFAT-LH"HNOG0$U8M?%7\(6R>*'WRS6^H$ [!CQ?*F7WA%/0
MO,EF_P!02P,$%     @ \V9D6,\]N9]H!0  21$  !D   !X;"]W;W)K<VAE
M971S+W-H965T,S<N>&ULO5AM;]LV$/XKA#L4#J#6(O6>)@;RTFW%VBVHVPW[
MR%AGFR@M:B0=Q_]^1TF6F=AQNJWK%TM'W>O#.][19VNEOY@%@"7W2UF9\\'"
MVOIT-#+3!2RY>:UJJ/#+3.DEMTCJ^<C4&GC9""WEB(5A.EIR40W&9\W:C1Z?
MJ965HH(;3<QJN>1Z<PE2K<\'=+!=^"CF"^L61N.SFL]A O9S?:.1&O5:2K&$
MR@A5$0VS\\$%/;U,'7_#\+N M?'>B8OD5JDOCGA7G@]"YQ!(F%JG@>/C#JY
M2J<(W?BKTSGH33I!_WVK_<<F=HSEEANX4O(/4=K%^2 ?D!)F?"7M1[7^&;IX
M$J=OJJ1I?LFZY4V+ 9FNC%7+3A@]6(JJ??+[#@=/( ^?$&"= &O\;@TU7EYS
MR\=G6JV)=MRHS;TTH3;2Z)RHW*9,K,:O N7L> )SA-@BOK725E1SPJN23%4U
MQ57-'7*&##_Q6PGFY&QDT:03'$T[]9>M>O:$>LK(!U79A2%OJQ+*API&Z&OO
M,-LZ?,F.:KR&Z6L2T8"PD$5']$4] %&C+_H/ !R*N]4:'];J2NG4U'P*YP.L
M%0/Z#@;CER]H&KXYXG/<^QP?TSZ>8&F6*PE$S8C9\U]4;:VBYP&YW6PY#@5Q
MW,Q'N(-J!8;,M%H2N+>@*RZ[K 1M@MXXGA$.*C1>:S43E@RE,N8D:+!4=@&Z
M\\_E42_E.4JX!L+1DI)X3&#&B8K8A5H95&!.3LG+%SD+HS??[(D533XM@/P)
M7'>Y23"S8'F+KKKLVC*Z+',_C&S1V'?F^GK2O_] 4AHD6>HM)&F0H)+)IE(E
MW/<?LB"AU*-HF)"+N9#";OI5F@5IGN_()(BRB'Q2%K?A"A-325%RB[[OK.5I
MD&6)MY 501C2?XW4NVJ*F]UM*+D%W#)PNWPGFG,92=S'AL7R>\R5(3UY5N=#
MP&B0(SP^'17[< U94>PT#Z. T>AD#[ A"N>)QY<':8I\1R&C4>%10QH&<1X]
M'\4W0XS]<\18&OI;3-,]O!@M/.R"Q*%W"*TX?(A6&'Y?M/8B]:NPJ;['*ZSS
MCQL#]MERC+* 1<Q;8$F0)?D>7A&65N%1+ OWRS''5-T!3[&R:'P<K:0(XHAZ
M"W$>A#'[KG#]I%2Y%E+N0_4X0$0G"!^<'DA'>1?B<UR[M#HAEVW:@Q0XM+1'
M/#8K7FTP][&/O-KV@+9?M$5P,<,O7R_2F3O23Y.^GR9?W4]U>\P_U?.:CB95
M-7\E<9HLNR0\U%N/FWS_6(7K?FA^?S^=P68;L97/0<TUKQ<"3<#<(;0&1!D/
MDUH+@[I0P__5.G>=\',E7))/+.:Z\;*@P![FISI6'O8T;+4X&E?HY H'*G&H
M@3Y^7O&*E]SKC1'+/2K%W.M\^ 5GCA(WJB_)(/18:4"+G-PL,,GK&C=@YVR$
MAU;L46G.\-PN!?=DLX(^T)20B1;D/:^^[+ABKW/%+"7OC.:PJQ2Z^[IMV[,.
MCIXE#L(T\TF*YU##ZV/+HH"FN;_@.EU\)/G3/OG3;Y;\[OZ#28:;*84K181>
M3(6$0_E_W.INML1V"'RZ<.9Q4"1VK<BFF<J:/,;."5JHDL#^C/85Y3$L 8/
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
M_ J.#N#WPMJP79"!;B*>_P-02P,$%     @ \V9D6#'E$;1L!@  *C   !D
M  !X;"]W;W)K<VAE971S+W-H965T-# N>&ULS5M=;]LV%/TKA%<,+;#5$N7/
MS#&06!W6AVQ!LVS/C$S;1"71)2D[*?KC1TJ*:%DR$QLW@U\:2^8]XCV\),^1
MV<F6BZ]R1:E"CTF<RLO.2JGU1;<KHQ5-B/S(US35WRRX2(C2EV+9E6M!R3P/
M2N(N]KQ!-R$L[4PG^;U;,9WP3,4LI;<"R2Q)B'BZIC'?7G;\SO.-+VRY4N9&
M=SI9DR6]H^I^?2OT5;="F;.$II+Q% FZN.Q<^1=A,#0!>8M_&-W*G<_(I/+
M^5=S\7E^V?%,CVA,(V4@B/ZSH3,:QP9)]^-;"=JIGFD"=S\_H_^>)Z^3>2"2
MSGC\+YNKU65GU$%SNB!9K+[P[1^T3*AO\"(>R_Q?M"W;>AT495+QI S6/4A8
M6OPECR41.P'!H0!<!N"] (P/! 1E0/#:@%X9T,N9*5+)>0B)(M.)X%LD3&N-
M9C[D9.;1.GV6FG&_4T)_RW2<FH941H*M\S'@"W2=2=U 2D32.;HK:L'<OV/+
ME"U81%*%KJ*(9ZEBZ1)]DHII[FG1_I;'+&+ZXGU(%6&Q_(#>(9:BOU<\D[J!
MG'25[K)Y<#<JNW=== \?Z)Z/T0U/U4JB3^F<SNL 79UKE3!^3O@:.Q%#&GU$
M@?\+PAX.T/U=B-Z_^X D7>IB5BT=G+T>#C_#M<"$KX?QVV%JV0;5\ 8Y;O _
M#F_;*!:]Z+7WPJQ=%W)-(GK9T8N3I&)#.].??_('WF]MC$."A4!@-?9[%?L]
M%_KTSRQYH,(0+.B:BYS3LM(D^N$HNNL"=Y#CFJ5[,PTFW<TN2<XG'TL2$%B-
MI'Y%4M])TE5BF/E.\AI=4\'XO(T1-XA>)Y)\G6BK)V?HL50!@=6H&E14#9Q9
MWNHR(FR.Z*/>]F4Y+;E:Z1J+,B%T+2$B)=7%I:F,-!]";ZMZ:_V6,<ER?B,N
M5>L$+A[<WRFXD>?ME=PKVH3.!$ZD9UC1,W32HX6 WN9334^T(NF2HIA+P]+[
MI=8_LFU5OAXVYEFOD7:SS:]^T$C<V;43$Q]5B8^<B?^5*:ET+9CU95&24!1$
M]&1N;(F85_70.ORC1HZ^UV\PT=*JAQM,./MZ(A/CBHFQDXD9D:M\5D3F ]6%
MOR&Q66[;DAXWTPE&WF OZ6:K\7",]W)V]NK$G'W/:CC/G;6>U:W:RFMF.!Z-
MQGL9MC3#7K_?W\O1W8E3D]P1JKXSR9 NJ"[IN=Y+-S3-:&O"?G/?[./]K;.E
M52\8#/;3]1O+7:_O6>[J:6";!GZA0M=,D9A]UYE(OE!Z;E)M5#;:@:T/J0$W
MY+'R"A0MA$*KTVGUK7\> M<'5;B@:"$46GT(K,CUW2KWX.K3%+%^O[%=S-J:
M^4UAX>[$J4E:D>J[!>9GK4T%CTQI&7@BHF*?>6GF0FK/&2A:"(569]1J67]P
M'C,72)*60P")%D*AU8? ZF7?+9@/SMQA8^L+FFJPI15NF;=O(8Q]JXQ]MS2^
M82E+LJ0U2R"A6K(!B19"H=59LRK:'Y_'W 32S>400**%4&CUMY16TV.WIG\F
M<8XR21=9C&*VH(9TEFJKMV0/<3NE+\#Z'GK2NU?K>Q)WZ+'\0:'5^;-V ;OM
MPJW@:RK44UZ#Q@CF>[0E<W. /C<J=K#GC#R:/2"T.GO6I6"W2RF73?0#G>)7
MW.#'3FM0M! *K4ZL]2OX//P*!O4KH&@A%%I]"*Q?P6Z_<O+*ZH8-'$L#Z,MZ
M*+0Z?=8)8;<3NB&/AQ25._+HH@-U.U!H==:LV\'GX78PJ-L!10NAT.I#8-T.
M=KN=D^>]&]9W:0(@\U/R]Q96"ELKA=U6ZE1%Y49U"E)03P6%5J?/>BKL_FFB
M7#=/E52@3@D4+81"JY]PL$XI\,YB:0T@[=$,%"V$0JL/@35;@=L6G;JTO@#K
M6AO<H4?S]Q9V*[!V*W#;K2O)2"L_H$8*%"V$0JM3MG.PZ3R,5 ![M GV;--;
M&*G &JG@A1]^COFQO<3:?5L\:+Y3=C_Q:'[>PBD%UBD%;J=TGS*S)-XI4VBM
MG(#Z)5"T$ JMSIWU2\%Y^*4 U"^!HH50:/4AL'XI>.'7H:.F=_/'H&'CD-3,
M_<2C^0'U0]V=0]0)%<O\,+I$>4T5QXNKN]6!]ZO\F/?>_6O_8E8<6[<PQ2GZ
M&R*6+)4HI@L-Z7T<:KI$<3"]N%!\G1_5?N!*\23_N*)D3H5IH+]?<*Z>+\P#
MJO\>,/T/4$L#!!0    ( /-F9%CQ<2SMRP(  )$'   9    >&PO=V]R:W-H
M965T<R]S:&5E=#0Q+GAM;+U5T6Z;,!3]%8M54RNMA4!"NXX@-4FG[:%25-KM
MV34WP2K8S':2[N]W;0A-4Q+M8=H+V.;>XW..\;W)1JIG70 8\E*50H^]PICZ
MVO<U*Z"B^D+6(/#+0JJ*&IRJI:]K!31W257IAT$0^Q7EPDL3MS97:2)7IN0"
MYHKH5551]7L"I=R,O8&W7;CGR\+8!3]-:KJ$#,QC/5<X\SN4G%<@-)>"*%B,
MO9O!]32V\2[@!X>-WAD3J^1)RF<[^9Z/O< 2@A*8L0@47VN80EE:(*3QJ\7T
MNBUMXNYXB_[5:4<M3U3#5)8_>6Z*L7?ED1P6=%6:>[GY!JV>D<5CLM3N239M
M;. 1MM)&5FTR,JBX:-[TI?5A)V$0'T@(VX1P/V%X("%J$R(GM&'F9,VHH6FB
MY(8H&XUH=N"\<=FHA@M[BIE1^)5CGDEGH)GBM;-4+LADI3% :T)%3K+F9.UZ
MQI>"+SBCPI ;QN1*&"Z6Y%8;CE9"$S^7)6<<)^<D,Y(]GUM_<\)DA?^<IFZ/
MTQD8RDM]AD&/V8R<GIR1$\(%>2CD2B.*3GR#NBP[G[4:)HV&\("&04CNI#"%
M)K<BA_PM@(^&=*Z$6U<FX5'$&; +$@T^D3 (HQY"T[]/#X_0B;I#BAQ>]!\/
MJ<_FAL6PGX6M)]>ZI@S&'A8,#6H-7OKQPR .OO19](_ WA@V[ P;'D-/9UQA
MF2!8ZQ1U'C"I3:_D!F?D<&S%6Z?AYV'BKW>5],0,7F/>$!QU!$='"698MRPO
M>R(TQWO-M;%4UT#@Q=Z6_@-J0.,=)M%E%.W1[0D*XL_]?...;WR4[X,TM"3Z
MP*WNHQJ_,VT8A)=[5-\'1>%5M$?5WZEN%:BE*_J:N/^[N=+=:M=7;EPYW5N?
M8+]IVL,K3-.L[JA:<J%)"0N$#"XND9)J&D S,;)V-?1)&JS(;EA@SP1E _#[
M0DJSG=@-NBZ<_@%02P,$%     @ \V9D6,3(]D,@ P  W @  !D   !X;"]W
M;W)K<VAE971S+W-H965T-#(N>&ULO99M;]HP$,>_BI554R>M#4D@0 >1"G3:
M)G5"9=U>N\E!O"9V9CO0[M/O[(2,AQ3UQ;0W$-MW__SN;-]EM!'R4:4 FCSE
M&5=C)]6ZN')=%:>04W4I"N"XLA0RIQJ'<N6J0@)-K%.>N7ZG$[HY9=R)1G9N
M+J.1*'7&.,PE466>4_D\@4QLQH[G;"?NV"K59L*-1@5=P0+T?3&7.'(;E83E
MP!43G$A8CIUK[VHZ,/;6X#N#C=IY)B:2!R$>S>!S,G8Z!@@RB+51H/BWABED
MF1%"C%^UIM.\TCCN/F_5/]K8,98'JF JLA\LT>G8&3@D@24M,WTG-I^@CJ=G
M]&*1*?M+-K5MQR%QJ;3(:V<DR!FO_NE3G8<=!R]\P<&O'?Q#A^X+#D'M$-A
M*S(;UHQJ&HVDV!!IK%'-/-C<6&^,AG&SBPLM<96AGXYFH&+)"IM2L2234J&!
M4H3RA"RJG37S"[;B;,EBRC6YCF-1<LWXBMPHS3"54-G/1<9BAH,+,H,E2 D)
M;O0:> GD? ::LDR]P\7[Q8R<G[TC9X1Q\BT5I4)O-7(UQF.HW+AFGU3L_@OL
MGD]N!=>I(C<\@61?P,5$--GPM]F8^"<59Q!?DL![3_R.'[0 35_O[I_ "9K-
M":Q>\!\WIRW-%46WG<+4D2M5T!C&#A8*!7(-3O3VC1=V/K2EZ!^)[26LVR2L
M>TH]FM",\A@(U>0+Y:7)C]<6<*72LRJFSJVC;A"&(W>]&TB+4:\S;(SV 'L-
M8.\DX%>LR\GAW<!;H%,@!4@FDC;<2C/<(?&]T!L>\+98#?N]L!TX;(##D\!W
M-:.$6. I^WUXS2K \.C5%[[?&QQFM,UL&'J#=L1^@]@_B3@M,9L\?B9:4JXR
M:JY+=>8%IE42FOS$.HJ=1[<>_OX1E.=W#\"/;2[\@=>./6BP!Z\]JU@W(']
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
M-VA+;;,)CDOW4QZLIJ^<\FSR2:FLX4( DQG<2,MDSM<"X<H8M 9.X;J@)33
M):1,ZQ<N<V"EJJ4%M8%\EWZ\0LNX,"=PY$*_%JHV)&EBWQ*EV\M/>Z)E1Q2^
M0C0)X59)6QCX(#/,_A3PJ;RAQG!7XS(\J+C"] RFDW<0!N$4'A]6<'QT<D!W
M.IS=M-6=_M?9C57>Z<W&]9S_+DW%4EQX9#"#>HM>\O;-) K>'Z"=#;2S0^K)
MD@DF4Z1?^H7)F@P(_8F,@792\U;*^7J;A,'T(O:W(P#S 6!^$(!<1!ZA:U1K
MC3)] :N9-()U[LQ^T&4GM]LQG$XXVL,YG9Z/TT0#3?2/QT'7 \LUZN&*C!%$
M(P=R/O\+P=_S88DZ;[N-@=2YI;/DL#HTM*O.Q[_#NVYXRW3.I0&!&TH-SLYI
M:]UUF&YB5=6Z>JTL]8AV6%!31NT"Z/M&*;N;N V&-I_\ E!+ P04    " #S
M9F18 T,>=O8"  "9"P  &0   'AL+W=O<FMS:&5E=',O<VAE970T.2YX;6RM
M5EMOFS 8_2L6JZ96VLHMMW8)4BZ[]*%2U:S;LP-?@E6#J>V$KK]^MB$T-!2U
M%2]@&Y_C<\QG...<\7L1 TCTF-!43*Q8RNS2MD480X+%.<L@54_6C"=8JB[?
MV"+C@",#2JCM.<[ 3C!)K6!LQFYX,&9;24D*-QR);9)@_F\&E.43R[7V [=D
M$TL]8 ?C#&]@"?(NN^&J9U<L$4D@%82EB,-Z8DW=R[EK &;&'P*Y.&@C;67%
MV+WN7$43R]&*@$(H-056MQW,@5+-I'0\E*16M:8&'K;W[#^,>65FA07,&?U+
M(AE/K)&%(ECC+96W+/\%I:&^Y@L9%>:*\F+N8&"A<"LD2TJP4I"0M+CCQW(C
M#@#N:P"O!'@O ;U7 'X)\(W10IFQM< 2!V/.<L3U;,6F&V9O#%JY(:E^C4O)
MU5.B<#+XR5B4$TH13B-TE4J<;LB* IH* 5*@TP5(3*@X0U_1W7*!3D_.T DB
M*?H=LZU0&#&VI9*AR>RP7')6+.F]LJ3KH6N6REB@[VD$49W 5OHK$][>Q,QK
M95Q >(Y\]POR',]O$#1_.]QKD>-7>^H;/O]#>]JT805?KYE/G^1+D>$0)I8Z
MJ@+X#JS@\R=WX'QK,ML16<UZK[+>:V-_MDZ2#!.NSKML\EN0] V)_M#L F=L
M[PY-M"[S01/]RD3_32::E!?(P8%RSQGV7XCO']GS'']43:J)&E2B!JVBIN'#
MEG!X8T&U<KVWH#HBJ]D>5K:''9^E89?6.R*K61]5UD?M;SQA7)(G;'YW\*A^
MW *:#(^.2O+">7F<VN?4Y%U4\BY:Y<UQ1B2FY$G5Y )V*A!DJK5D:YECWBBT
ME>^];Z8CLIIUUWG^:SH=EV5)V)'[KMCJ]@]"@]M):98TM2_A\*@X&V:YHZ/R
MM ]"3@)\8[*?0"';IK*("M5HE2^G)E6]&)_IW&G"TS--$5JO,=^05" *:T7I
MG ^5)%[DP*(C66:BU(I)%<Q,,U;9&;B>H)ZO&9/[CEZ@2N/!?U!+ P04
M" #T9F18M16?J/P&   P,   &0   'AL+W=O<FMS:&5E=',O<VAE970U,"YX
M;6RU6VMSVC@4_2L:MK/3G=D4ZV7L+F$F);/=?NA.IFF[GQ50P%L_J"Q"TU^_
MLJ$(6X_BC?*EP7!T.5=(]^@>N]-=);[4:\XE^%;D97TY6DNY>3T>UXLU+UC]
MJMKP4GUR7XF"274I5N-Z(SA;MH.*?(RB*!X7+"M'LVG[WHV83:NMS+.2WPA0
M;XN"B<<W/*]VER,X^O'&AVRUELT;X]ETPU;\ELM/FQNAKL;'*,NLX&6=5240
M_/YR= 5?SVG:#&@1GS.^JT]>@R:5NZKZTER\6UZ.HH81S_E"-B&8^O/ YSS/
MFTB*Q]=#T-'Q.YN!IZ]_1/^S35XE<\=J/J_R?[*E7%^.DA%8\GNVS>6':O<7
M/R1$FWB+*J_;?\'N@(U&8+&M954<!BL&15;N_[)OAXDX&0")8P Z#$#G#L"'
M ;A-=,^L3>N:23:;BFH'1(-6T9H7[=RTHU4V6=G\C+=2J$\S-4[.WE;5<I?E
M.6#E$KPK)2M7V5W.P55=<UF#"W"U^+K-ZJR9\PO!<R;Y$F0:Q_:XE]=<LBRO
M?U,C/MU>@Y<O?@,O% Y\7%?;6L6NIV.IZ#9?.EX<J+W94T,.:M=\\0I@^#M
M$<*6X?/SAZ/N\+&:I.-,H>-,H38>_E\S94MO'X_8XS7[\W6]80M^.5(;L.;B
M@8]FO_X"X^@/6[*!@G52Q\?4L2_Z[*VHZAK,F1"/6;D"GUF^Y;:$]U%H&Z6I
M'P\SE,!),AT_G&9B09$X0D=4AR(Y4B1>BE>+Q;;8[I?G55$)F7UGS9JUT=Q'
MBD\(7$!"$]3C:8-!&CN(TB-1ZB6JBH\J+268;X7@Y>(1?!2LK/.6++A:_JNV
MO*J2TL:;&H1@W"=M8B@D=L;QD7'L9?RW$I.?__:Q20Y/:/^WMZ 01;&=X.1(
M</*3WUZ5*,'/W)7>6$-W9:!@G;238]I)X(*4A$P]4+!.ZNDQ]31(04J-Y982
M8Y];0.DDLB])&&E=C8(5I$.H3JF93%#4(VJ%P=BQO>')$0 ^5TDZ1#ZEA&F?
MMHE1R\!!6JLQ]"K>F57I$*3SW9-TTF=HHE!,'%4):M6$?MF\Y@_JF+Q1"T#R
MQ;JL\FKU:"7I#3-T7X:*UDU:ZS D@:L2]"K[X/0#1>NFK]4=^N7]W,H$3:%&
M:9KV%Z:)PC!.'0M3"SKT*_J@VF1*]H7:'$9MLL%(G#BH:FF'?FU_2FV:&)2,
MC6]""'90UK(,O=)W;F5*S)\VCOO\3%!,77.JQ1/ZU7/>MI5<@+:?4Q-9K[.-
M?6MZ PW>FH&B==LWK<@H"MW >25^< <7*%HW?:WRR*_RYU8F9,HUBM+^RK2A
M$'(L37328_M5?4AE0J9J7ZC34/_X8851UP$$:75'?G5_0F4Z1.Z<2OH%U8(A
MCM83:7%&_B[YO-*$S,Z7Q+#/SP3%KD8.:?E$?OE4<[CD!1-?ZG:7RN:R9 6W
M;T]OK,';,U"T;N9:DU$<NCIY17YP^H&B==/7.H_\.G]V=3(5.Z']CLX&2EP;
M7NLZ\NOZH-ID"K?JZ$B?IPU%7$2UOB._OC^E,IG-L#&Y)L11]K&69NQOEL^K
M2]CL?Y-^V;1@(';43:RU$_NU\T;]Z*5]%_I'#MV%H:)U\]3RBT-[W#BHR1TJ
M6C?]$YL[D,]MT6;<7X@6#'6L0ZW?.)S+C2W^M=&VV4#8M9VUBN-G\[C]D0>O
M)XME[DA."S4.88=CLQ\V5H@)<<V\EE'LE]'W?)DQ,*_4UEU(T-P1;.YQ6@D&
M]<%#1>NFK:49A[;"<5 O/%2T;OI:\'$8.QR;THU)VA=X&RHFCJ5)M,:3<(8X
ML3C=*$;]'L0*PRZ#A&BY)\]FB!.;V=VG;6)<1AG1TDU"^.'$;(:3I.^*64 0
M(=<-6JVNQ*^N<[;)),NS[VH!:&O\MKJ7.R;L;(,:XZ&B==,_N4$=VA@G08WQ
M4-&ZZ>LS 0ECC!.+9">QX3_98"1VG?2)5G<2SAHG%L\[3HQ;\C88P:EKQVNM
M)\]FC1.S08;(* ,F"%/'S4:BI9J$<,>)V1E#F!HFE 66.CM]HO64_,0@'UZI
M@AKEH:)U'U#12DU#&^4TJ%$>*EHW?:W^-(Q13BU23Y&A]C883%R](-6"3\-9
MY=3B@5LJE0WFKE14*S]]-JN<6JQRW'^JR +"K@,KU8)-0YCEU.R@$_-,;4%-
MHM1Q(Y>>/$OF%U5_H0(7S1.8-Z):J6UBW[=!N^U0T;J3H:6;AG;0:5 '/52T
M;OKZ.$##..C4(NO$\%$M*#0YZ12Z)+7Z4[_Z/Z42V(X$?=:6^^4.ROHP0/V'
M@3/+P#X([<QJW'^>PX)2L]JWI,8GCW,WS]*_9V*5E37(^;T:%KV:J/%B_WCZ
M_D)6F_8)[[M*RJIH7ZXY6W+1 -3G]U4E?UPT#XT?_Y/ [#]02P,$%     @
M]&9D6.7 BNF^ @  A D  !D   !X;"]W;W)K<VAE971S+W-H965T-3$N>&UL
MK99=;YLP%(;_BL6JJ96V0O@,78+4)NO6BTU5OW;MA)-@U6!F.Z'=KY]M*$L3
M2JIH-\&&\[X\[PE@CRK&'T4&(-%33@LQMC(IRS/;%O,,<BQ.60F%NK)@/,=2
M3?G2%B4'G!I13FW7<4([QZ2PDI$Y=\V3$5M)2@JXYDBL\ASSYPN@K!I; ^OE
MQ U99E*?L)-1B9=P"_*^O.9J9K<N*<FA$(05B,-B;)T/SB:QKC<%#P0JL3%&
M.LF,L4<]N4K'EJ.!@,)<:@>L#FN8 *7:2&'\;CRM]I9:N#E^<;\TV566&18P
M8?07264VMH862F&!5U3>L.H[-'D"[3=G5)A?5#6UCH7F*R%9WH@504Z*^HB?
MFCYL" ;^&P*W$;CO%7B-P#-!:S(3:XHE3D:<58CK:N6F!Z8W1JW2D$+_B[>2
MJZM$Z63RC;&T(I0B7*3HJI"X6)(9!70N!$B!/J.O0A+5+4@1SAF7Y \V[8<G
M]1P)0,=3D)A0<:)*[V^GZ/CH!!TA4J"[C*V$,A4C6RI.?3=[WC!=U$SN&TQ3
MF)\B;_ )N8[K=<@G[Y>[K^6VZD[;(K=MD6O\O(-:U!6O]O.[_?1[>29*/(>Q
MI5X\ 7P-5O+QPR!TOG2%_4]FKZ)[;72OSSU1'?2[ M:JP*CT=V*=^+$;C^SU
M)GBO]8'@?@ON[P,/NL!K5;@![L51N 7>:WT@>-""!_O PR[P8 ?<C1Q_"[S7
M^D#PL 4/]X%'7>#A#GCD;3\IO<X'<D<M=[2/>]C%'>UP!W&TQ=WK?"#WL.4>
M]G+?9:!6[84$WD4_W*$?#KPM^E[_ ^GCEC[NI?^I]B<3S/DS*9;H =,5=*6(
M=SXS R\*AELY.JK<P/WW4M> ]L8:J?<G/S!?DD(@"@NE<TXC9<#K-;^>2%::
M97/&I%J$S3!3VR3@ND!=7S F7R9Z)6XW7LE?4$L#!!0    ( /1F9%A+R9GK
M*@,  "<+   9    >&PO=V]R:W-H965T<R]S:&5E=#4R+GAM;*V6;6_:,!#'
MOXJ555,KK4WB\%0&D09L6E]40J7=7IOD@*B)G=GF8=]^MA,"!!-U5=^ [=S_
M_+MS+K[!EO%7L0*0:)>E5 R=E91YWW5%M(*,B#N6 U5/%HQG1*HI7[HBYT!B
M(\I2%WM>Q\U(0IUP8-:F/!RPM4P3"E..Q#K+"/\[@I1MAX[O[!>>DN5*Z@4W
M'.1D"3.0+_F4JYE;>8F3#*A(&$4<%D/GF]\?^U@+C,6O!+;B:(QT*'/&7O7D
M(1XZGB:"%"*I71#UMX$QI*GVI#C^E$Z=:D\M/![OO?\PP:M@YD3 F*6_DUBN
MAD[/03$LR#J53VS[$\J VMI?Q%)A?M&VM/4<%*V%9%DI5@190HM_LBL3<23P
M.Q<$N!3@NJ!U01"4@L $6I"9L"9$DG# V19Q;:V\Z8')C5&K:!*JCW$FN7J:
M*)T,'VC$,D#/9 <"W:(QRW)&@4J!V +EG&T2<V#J?4%)82J-Z?4$)$E2<:-$
M+[,)NKZZ05?*!#VOV%H0&HN!*Q6?WL6-2I91P8(OL/@8/3(J5P)]IS'$IPY<
M%5@5'=Y'-\*-'B<0W:' _X*PAP,+T/CM<MR $U3)#HR_X(*_\9ISE=NC3"+8
MJ8(4@*[G0&&1R)N^+6^%VY;=K:[TOLA)!$-'E;( O@$G_/S)[WA?;3%_D+.3
M#+2J#+2:O(>J]%1A45N,A;!MA/KCLPE]O^</W,TQN\TH.!B=,+4KIG8S$\3
M26IC*H2=X^VP5T.RV+1:=J).1=1I))I)(@&I(D(IB^QDG;-=@QJ7Q<*S8W4K
MK&XCUEM>7QMK]SQ#@=>JX5J-VG;@7@7<:ZRW"2Q (<?_7W"]CRRX#W)VDH+[
M*@7W[RVX^[.,W^)>IW8LYT;8Z]I/Q?<.=X[WWHHKE2?O0;WBFFU.F8[N0;^1
MZ4WOBI78M^2Q6\^CQ0K[EQ*)#]"X$7IZ\8*VDN+SKZ>'>W52BU5;7W\GJ.Y1
MRY$!7YI.3*"(K:DL[N=JM>KVOID>I[8^TEV@:64.;HH6\I'P94(%2F&A7'IW
M787$BZZLF$B6F\9FSJ1JD\QPI3I9X-I /5\P)O<3O4'5&X?_ %!+ P04
M" #T9F1822)*Y\L$  !%$@  &0   'AL+W=O<FMS:&5E=',O<VAE970U,RYX
M;6RM6-MNXS80_17"10LOT)5$VI;LU#:0.+O8?5@T2-KN,R.-+2$2Z9*TG?3K
M2U*R?*.8(,B+=3%G> YG.&?$Z8Z+)YD#*/1<E4S.>KE2ZZLPE&D.%94!7P/3
M_RRYJ*C2CV(5RK4 FEFCJ@Q)%,5A10O6FT_MNSLQG_*-*@L&=P+)3551\7(#
M)=_->KBW?W%?K')E7H3SZ9JNX '4W^L[H9_"UDM65,!DP1D2L)SUKO'5@D3&
MP([XIX"=/+I'ALHCYT_FX7LVZT4&$920*N."ZLL6%E"6QI/&\6_CM-?.:0R/
M[_?>OUKRFLPCE;#@Y<\B4_FL-^ZA#)9T4ZI[OOL&#:&1\9?R4MI?M*O')DD/
MI1NI>-48:P15P>HK?6X6XL@ QQT&I#$@YP;##H-!8S"P1&MDEM8M570^%7R'
MA!FMO9D;NS;66K,IF GC@Q+ZWT+;J?EWEO(*T%_T&23Z;*Y(4 4Z0BEG:5$6
MU*YV_Q84+4KY:1HJ/:NQ#=-FAIMZ!M(Q R;H!V<JE^@+RR [=1!JN"UFLL=\
M0[P>;R$-T #_CDA$!@Y B[>;$P^<0;N$ ^MO\(8E="U/;3UT6YMM>B77-(59
M3^]#"6(+O?EOO^ X^L-%[8.<G1 =MD2'/N_SKY"!H"4J:L)*YPH\ZWHB ?4?
M@<&R4)\054@JJC:*BQ>;2JXEJ><9VWE,H=G.HX#@:;@]INH'TR<XB*)?/WEX
MC5I>(V\ ORR7NJ@@OKQR81U]9/@^R-D)S;BE&7M7;)%3M@(=/;2EY:;>U[34
M=9RRU!FEVMWD*$JC(!G'9V&Z'!4%@WC2CCK!FK18$R]64X? AD7JN" M5[H>
M,Z352UC@SHV6./#&Y!SOY:@HB,C(C7?<XAU[\3XTJH1C@OJ5LTJ.+W)^&(S(
M&3CO+._,CTG+8>+E< ]J(QA2'*T%WQ96J)78 -JL77PF%^M(@G@X/"-T.4JO
M=C1PKS:.#JH5>;'JFJN;%FFS><.,6*U8\1]DMB@UM4BB_O7# B7#R*U:T04T
M'$PFY^GB&&88)!T,CG07>QG\+%2>\S(KV,J =B+$#H11?('0.]$[DP:3 Q'B
M5X6+O8GT7449,(6R0F]B ;K F.YBOXWA.:UKT4KWF1)1EJ&22^F6SV;ZTP D
M1P6F6077L CCCC@=Q!U[)77^H$P[="1Y#)0M28T8-LGF1#YPILZYSG4,(QW(
M#VJ-_0IYKX--19K;]<U@JUOV=66"HK=.UH'X%<V-DV!PH;D-"Z_I>[/P(.'8
M*YUM%MKF=9]UJJ"EDZ;?5Q]')!AU\7S%=A@D_JX$'_0:^P7[%J#2):U@2I.1
M[H#Y/?3Q<!*0+B:OV0:35Y@<U!R_5<[-UK&$]'Y:4_:")"A5@LE+)S^_WSX9
M#!U=8,//:_O>C#QT!-C?$K1=I>Z'>?KTV7QL9LC0UAVS+91.PGZG_4F,@[B+
M\"NVD6/SGI([M K8WRO\J7(03OQ^NW[2C=[=*G0(+3FT"L3?*M1Q*+9U]>[Z
M(B&7,J]KW44WX!@6!7AXWCV&1Q_D%8B5/:>0.O@;INKOW/9M>Q9R;4\ SM[?
MX*M%?:)Q<%,?L/R@8F7$LX2E=JD54=<E49]9U ^*K^UG_R-7BE?V-@>J1<L,
MT/\O.5?[!S-!>W(T_Q]02P,$%     @ ]&9D6!S,'>\@!   4Q   !D   !X
M;"]W;W)K<VAE971S+W-H965T-30N>&ULK9AM;]LV$,>_"J$50PLTD:A'*[,-
MM/&*]<6V($F[U[1$VT0IT27IIWWZG1XLR1:E)47?Q))\=_K=\8Y_,].#D-_4
MAE*-CAG/U<S::+V]LVV5;&A&U*W8TAR^60F9$0VW<FVKK:0D+9TR;KN.$]H9
M8;DUGY;/'N1\*G::LYP^2*1V64;DZ2/EXC"SL'5^\,C6&UT\L.?3+5G3)ZJ_
M;!\DW-E-E)1E-%=,Y$C2U<SZ@._N<5PXE!9?&3VHSC4J4ED*\:VX^9S.+*<@
MHIPFN@A!X&-/[RGG123@^%X'M9IW%H[=ZW/T3V7RD,R2*'HO^#\LU9N9-;%0
M2E=DQ_6C./Q!ZX2"(EXBN"K_HD-MZU@HV2DMLMH9"#*65Y_D6!>BXX#] 0>W
M=G!?ZN#5#EZ9:$56IK4@FLRG4AR0+*PA6G%1UJ;TAFQ87BSCDY;P+0,_/?^<
M)R*CZ)D<J4(W:$%75$J:(DV.B"A%M4(D3Q%G9,DXTPRLWBZH)HRK=V#_Y6F!
MWKYYA]X@EJ/GC=@IL%936P-:\0([J3$^5ACN ,:")K?(P^^1Z[B>P?W^Y>[N
MI;L-!6FJXC95<<MXWF"\N@RL*D];C3M3;E4PWQRL&,0[M24)G5DP:8K*/;7F
MO_Z"0^<W4Z8_*=A%WEZ3MS<6??Z!PUB3/(%5SH6&_H,BY)J?8##2'0S<DE-3
M_E70H Q:[!O[N3N!5=QWT^K;> YN;"YH_8;6'Z5=4"A!PDBU'T"7DDQ(S?XM
M'Y@XJW!AAR&87&'V36(S9-! !J.0OW_?,7U"T$:P\ZJ*]36U#7I KA-?4_>-
M<! -@(<->#@*_A=H"*B%!.1\C;A0"B5$RA-(QX%(\Y"'?0XGP/X5K<DJZJS$
M!6[4X$:CN(\P#$0FF[(14KH'@=J"W$"A88Z9-N)&/1 _<*]@^S9>Z)I1)PWJ
M9+PECD4KU#/6KC[:Y9IQM"4L-<%.^E6+HVM:@U$8^V;<N,&-1W'_UALJ341Q
M_V7>]=CW;6Y<US$#8:<5+6<4Z5EHPM%:%DV9#N[5:$FA62G:$[ZK-XGS_F94
M*,<P10%VKC(RF?E^9[^[S*DCQ'@TIZ\OI,3]BF(O"N-K3*.=XPR,&6ZE$8\J
MT(@VOD<YU49FMU^RR,?7Q 8K/PH&>%M)P]ZKM;SS<\8HZ'A4)E^KZ#\KVF4!
M6I7$XS(Y.+^X+W8W[O6.8C(*AQ:E%44\KHK5 )M&M[,T1N:^U!F8#4:#S*T>
MXO\7Q.'-Q@AK4+H(]R;58.7CH3VRU4,\+H@_@-O7.M.8&JR&Q[351#PNBD.X
MYWXX&8G[>F?H!H/18#>THHC'5?$'RAOW?@*;NL%@U>\&NW/B*X[;?Q*Y9KE"
MG*[ S;F-P%]6)]CJ1HMM>0A<"@U'RO)R Z=^*@L#^'XEA#[?%.?*YO\(\_\
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
MY44#^?Z&,?%T4'30;-!9_0]02P,$%     @ ]&9D6/C<LN+S @  DPD  !D
M  !X;"]W;W)K<VAE971S+W-H965T-3@N>&ULK59K;YLP%/TK%JNF3FK+(^&5
M)4AMJFF36BGJ8_OLD$NP:C"S3=+\^]E 41HH2Z9] 3_N/?><:U_;TRWC+R(%
MD.@UH[F8&:F4Q<0T19Q"AL45*R!7,PGC&9:JR]>F*#C@5>644=.Q+,_,,,F-
M:%J-+7@T9:6D)(<%1Z+,,LQW-T#9=F;8QMO  UFG4@^8T;3 :W@$^5PLN.J9
M+<J*9) +PG+$(9D9U_9D'FK[RN G@:W8:R.M9,G8B^[\6,T,2Q,""K'4"%C]
M-C '2C60HO&[P33:D-IQO_V&_JW2KK0LL8 YH[_(2J8S(S#0"A)<4OG MM^A
MT>-JO)A147W1MK;U70/%I9 L:YP5@XSD]1^_-GG8<[#''S@XC8-SK,.H<1A5
M0FMFE:Q;+'$TY6R+N+96:+I1Y:;R5FI(KE?Q47(U2Y2?C.Y8OKZ4P#/$EI2L
ML<ZM0.>W(#&AX@NZ1,^/M^C\[ LZ0R1'3RDK!<Y78FI*%5UCF'$3Z::.Y'P0
MZ1;B*S2R+Y!C.:,>]_GQ[LY[=U-I;H4[K7"GPAN=(KQ/50TS[H?11381!8YA
M9J@J$L W8$2?/]F>];5/XW\">Z=XU"H>#:%'BZ;V]A?Z4M51S$M8H:*9I00O
M"25RUY>+.H!;!=#GPR;R;2>8FIM]C5TC-[2\UN@=]W'+?3S(79TFDH(Z/23"
M:PY5JX_@(,JIBU6#>?M"K'X9;BO#'91Q3V+.!$ND2G.L$@Z].\[MQ UM^R#)
M@W'^<2-YK0IO4,43DY@B>FP!>1TY@34*#_1TC=S0_6#3^"U/?Y#G'0@Q0?.2
M<[UO"L:KBX,EQU/W.ZQLQSM<BJY1X/O]S(.6>?#W#/<R"CK!/-\_K,"@6X&6
M'_93"EM*X8E;]P)=9ZS4F<4[O*2 <)Z7F-(=8AO@2*: ZAPG57NP;L,.X[%E
M':@:Y'?JEC?WKDS]7+G'?$W4@4@A4?#6E;[@>?T$J#N2%=4MNF12W<E5,U6O
M)N#:0,TGC,FWCKZ8VW=8] =02P,$%     @ ]&9D6*B$J$FN @  9@8  !D
M  !X;"]W;W)K<VAE971S+W-H965T-3DN>&ULG57;;MLP#/T5P;N@!8;:<1*O
MZQ(#3;-A'5:@:-'M6;$96Z@NGD0G[=^/DA,WPU(_S ^V*)&'AZ1(S[;&/KH:
M -F3DMK-HQJQN8AC5]2@N#LS#6@Z61NK.))HJ]@U%G@9C)2,TR3)8L6%CO)9
MV+NU^<RT*(6&6\M<JQ2WSPN09CN/1M%^XTY4-?J-.)\UO()[P(?FUI(4]RBE
M4*"=,)I96,^CR]'%(O/Z0>&G@*T[6#,?R<J81R]<E_,H\81 0H$>@=-G U<@
MI0<B&K]WF%'OTAL>KO?H7T/L%,N*.[@R\I<HL9Y'YQ$K8<U;B7=F^PUV\4P]
M7F&D"V^V[70G2<2*UJ%1.V-BH(3NOOQIEX<#@_/7#-*=01IX=XX"RR5'GL^L
MV3+KM0G-+T*HP9K(">V+<H^63@7987YEE!)(64;'N"Y9830*78$N!#AVL@3D
M0KK368SDS)O$Q0YXT0&GKP"/4G9#6+5C7W0)Y=\ ,;'LJ:9[JHMT$'$)Q1D;
MCSZP-$G'[.%^R4[>G@[@COL4C /N^']2<"SP#FYR',YWT85K> 'SB-K$@=U
ME+]_,\J2SP-D)SW9R1!Z_L6AH+L()9,"1<7#U9:"KP3)S\?8=GC3@.=;=)-/
M/R7^F<6;(T2F/9'I()%KC4#A(;/$AOK %58T.S9[8L?H#*,VLG5,0L4E$WL'
M6'.D[BUL2U'3<I2^8PU8JI5N%5M;H]AE6U&KL-'87X[DG*%AWUL-;)SX#;_M
M"XLU ?(U>ML]7%_OEJX[F74'WDUVX&6@<%F?KVPPLA\OY7* *,%?. 9/-%T=
M'$M4]D_=)M,C98L/>E^!K<*$<Q14J[$; _UN/T0ON]GQHMY-X!MN*Z%]_M=D
MFIQ]).>VFVJ=@*8)DV1ED.926-;T(P#K%>A\;0SN!>^@_[7D?P!02P,$%
M  @ ]&9D6)@Y\)E] @  "P@  !D   !X;"]W;W)K<VAE971S+W-H965T-C N
M>&ULM55K;],P%/TK5I 02*AY];621EHW$$A,5)N SVYRFUCS(]CN8_\>VTF]
M#K4!P?8E\;7O.3[7OKXWVPEYKVH C?:,<C4/:JV;61BJH@:&U4 TP,W*6DB&
MM3%E%:I& BX=B-$PB:)QR##A09ZYN:7,,['1E'!82J0VC&'YL  J=O,@#@X3
MMZ2JM9T(\ZS!%=R!_M8LI;%"SU(2!EP1P9&$]3RXC&>+.+( Y_&=P$X=C9$-
M927$O34^E_,@LHJ 0J$M!3:_+5P!I9;)Z/C9D09^3PL\'A_8/[K@33 KK.!*
MT!^DU/4\F :HA#7>4'TK=I^@"VAD^0I!E?NB7>N;I@$J-DH+UH&- D9X^\?[
M[B". /'X#"#I (G3W6[D5%YCC?-,BAV2UMNPV8$+U:&-.,+MK=QI:5:)P>G\
M:P,2:\(K] 5,< J]N0:-"55OLU ;?NL5%AW7HN5*SG#%";H17-<*?> EE$\)
M0B/,JTL.ZA9)+^,U% .4QN]0$B5I#U_JHTT=W_ ,WPWAA&W8J=!Z@?9MS%2#
M"Y@')OD5R"T$^>M7\3AZWR-KZ&4-'7OZEY=P2M_P!?2-O+Y1[[$Y50A7$L \
M2*V0!GGR$/MI4O0 6*H>06,O:-S+M 19&"&F;""Q-L7!#"D"56"*[5L_>8 M
MXX5CM+5JFT>#*)Z,LG![0LG$*YGT9Q3>G\NH7N _WMC4RYK^=T9-7T#?A==W
M\3P9U4\3QW],J3AZK(31LR=51SE]DE7Q[SD5'M5G!K)R74BA0FRX;DNUG_6=
M[K*M[X_N;9N\P;(B7"$*:P.-!A/SY&3;>5I#B\95^Y70IG>X86VZ-4CK8-;7
M0NB#83?P_3__!5!+ P04    " #T9F18IK,3*^("  #."@  &0   'AL+W=O
M<FMS:&5E=',O<VAE970V,2YX;6RM5EU/VS 4_2M6AB:0!OEJTL+:2+0=VB30
M$(7MV22WC45B9[;;LG\_VTE-VX4*1%Y:V[GGY!S[)+G#->-/(@>0Z+DLJ!@Y
MN935A>N*-(<2BS-6 557YHR76*HI7[BBXH S RH+-_"\V"TQH4XR-&NW/!FR
MI2P(A5N.Q+(L,?\[AH*M1X[O;!;NR"*7>L%-AA5>P SD0W7+U<RU+!DI@0K"
M*.(P'SF7_L7$]S3 5/PBL!9;8Z2M/#+VI"<_LI'C:4500"HU!59_*YA 46@F
MI>-/0^K8>VK@]GC#?F7,*S./6,"$%;]))O.1,W!0!G.\+.0=6W^'QE"D^5)6
M"/.+UDVMYZ!T*20K&[!24!):_^/G9B.V '[\"B!H ,$^H/<*(&P H3%:*S.V
MIECB9,C9&G%=K=CTP.R-02LWA.ICG$FNKA*%D\G/"CB6A"[0-:C=$.@471&*
M:4IP@83$$M292:%.K%#C#$F&F(44->1X"A*30IPH\,-LBHZ/3M 1(A3=YVPI
M,,W$T)5*J[ZCFS:ZQK6NX!5=?H!N&)6Y0-]H!MDN@:M,6J?!QNDX.,@XA?0,
MA?X7%'A!V")H\G9X<$!.:#<^-'SA&S>^;8MJAEX[@W[ +T2%4Q@YZ@D6P%?@
M))\_^;'WM<U>1V0[9GO6;.\0>W+/I(H35TE"\*S>0 +:[-8<D>'0KY]5XD=1
M?^BNMFVT% W"@2W:D1=9>=%!>=>,+DXE\/*_;+?)/,CUWE/IB&S'=FQMQQ^.
M8-REV8[(=LSVK=E^!Q&L.>+M= 51L!?!EJ(PC-LC.+#R!@?ES7+&Y=LS>)#L
MO<?2$=F.[W/K^_S#&3SOTFQ'9#MF?>_E:^MUD,*&9/LE%WK17@I;BB(OV$NA
MN]49E, 7IF$2*&5+*NM/IUVU3=FE:47VUL>Z63,=QPM-W>G=8+X@5*BPSA6E
M=]97BGC=/-43R2K3?SPRJ;H9,\Q5PPE<%ZCK<\;D9J)O8%O8Y!]02P,$%
M  @ ]&9D6 FW$Z), P  5 T  !D   !X;"]W;W)K<VAE971S+W-H965T-C(N
M>&ULK9=K;YLP%(;_BL6JJ976<B>D2Y#65-,J=5O5R_;939S$*F!F.TG[[W=,
M*"'@.A7JEV"#S^OG/3@^9K1A_$DL"9'H.4MS,;:64A;GMBVF2Y)A<<8*DL.3
M.>,9EM#E"UL4G.!9&92EMN<XD9UAFEO)J+QWPY,16\F4YN2&(['*,LQ?+DC*
M-F/+M5YOW-+%4JH;=C(J\(+<$?E0W'#HV;7*C&8D%Y3EB)/YV/KFGD_<0 64
M(_Y0LA&--E)6'AE[4IVKV=AR%!%)R50J"0R7-9F0-%5*P/&O$K7J.55@L_VJ
M_KTT#V8>L2 3EOZE,[D<6[&%9F2.5ZF\99L?I#(4*KTI2T7YBS;56,="TY60
M+*N"@2"C^?:*GZM$- + J#[ JP*\]P;X58!?&MV2E;8NL<3)B+,-XFHTJ*E&
MF9LR&MS07+W&.\GA*84XF?PN",>2Y@MT32 ; IVB7[!X8$D(DDNTQNF*(#9'
M<@F7>FRJQJ*4XD>:4OF"CB^)Q#05)Q#^<'>)CH].T!&B.;I?LI7 ^4R,; FT
M:DY[6I%=;,F\-\@NR?0,^>X7Y#F>KPF?O#_<VP^W(4=UHKPZ45ZIY[\S43I#
M6X5 KZ#^D.>BP%,RMLKT\C6QDL^?W,CYJK/W06)[9OW:K&]23R!G@<[@-BHL
MH]0&L4Y<;PC973?!C=(]P8,:/#@$'NK MU%1$]QWHQ:X4;HG>%B#AX? (QUX
MJ $/XA:X4;HG>%2#1X? !SKP2 <>M,"-TCW!!S7XX!!XK ,?=,"'4=CB-BKW
MY(YK[O@0]Q#!EJJV9"C<<TFXSD;<L1%'PY8-XT0];0QK&T.CC7LF<5H5D@*_
MP,E :O?48<?' !92RXAQJIY&7&=70AVCE6LBQ#FZRN%-$"&UE<[IN#AUH]!M
MV3#/T]='XRC@&GUH"_]^J:?ZPE<)-_V%0>RW[1FG[VMO5\!=8\E,)BO.E;6"
M<76"U/KPNJLM;M>W:E"S"D;#G==]NEW%=<TE]YKEBU-809F1S^_P!0.GLXRZ
M93IP_.@-PEUI=<VUM?S':JF"SGRZM_^AY=5N''G5]\9/S!<T%[!<YR#OG V
MAF^/\-N.9$5Y"GYD$L[497,)GSV$JP'P?,Z8?.VH@W7](97\!U!+ P04
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
M'2;8'8(T!KB_%4+7$W- TV^&7P%02P,$%     @ ]&9D6,Y P&-E @  9 8
M !D   !X;"]W;W)K<VAE971S+W-H965T-C8N>&ULK57;CMHP%/P5*UU5NU*7
MA(0 I2%2 57;AU8(=MMGDQR(M8Z=V@YL^_6UG1!Q"8A*?4E\F9G,',LGT8Z+
M5YD!*/264R;'3J94,7)=F6208]GA!3"]L^8BQTI/Q<:5A0"<6E).7=_S^FZ.
M"7/BR*[-11SQ4E'"8"Z0+/,<B]\3H'PW=KK.?F%!-IDR"VX<%7@#2U OQ5SH
MF=NHI"0')@EG2,!Z['SNCJ:AP5O #P([>3!&)LF*\U<S^9J.'<\8 @J),@I8
MO[8P!4J-D+;QJ]9TFD\:XN%XK_[%9M=95EC"E-.?)%79V!DZ*(4U+JE:\-T3
MU'FLP813:9]H5V,]!R6E5#ROR=I!3ECUQF]U'0X(W=X%@E\3_%L)04T(;-#*
MF8TUPPK'D> [) Q:JYF!K8UEZS2$F5-<*J%WB>:I>%X?R 08K(F2Z!$M(.$;
M1OY B@C3-:*8)8#L)R2ZGX'"A,H'#7Q9SM#]W0.Z,[CGC)<2LU1&KM*^C+J;
MU!XFE0?_@H<9)!T4=#\@W_.#%OKT=KI_3'=U-9J2^$U)?*L7W%B2MD"50J]=
MP=R\D2QP F-'7RT)8@M._/Y=M^]]:HOWG\2.P@9-V.":>CPMA0"F]'5*1*E/
M?%6%1@F7JBUXI19:-=,AMO%PZ$7N]C!/"\8?-I@CF[W&9N^JS>^</2;_:+52
M[!_8Z/N]X8G7<U#H#2Z8#1NSX56SSUQABG#.2^U6-+>IS6-X5JI!US_U> X*
M/WK]$X_N00\P_?<;%AO")**PUC2O,]!\4?6T:J)X8=O"BBO=9.PPT[\!$ :@
M]]><J_W$=)KFQQ+_!5!+ P04    " #T9F183R 1-I8"  "A"0  &0   'AL
M+W=O<FMS:&5E=',O<VAE970V-RYX;6RU5FMOTS 4_2M6D!!(T+R:/D8;:6N%
MX,.D:A/PV4MO6FMV'&RG'?^>:R<+S926HI4OB1_W')]C^]J>[:5ZU%L 0YX$
M+_3<VQI37OF^SK8@J![($@KLR:42U&!5;7Q=*J!K!Q+<CX)@Y O*"B^=N;:5
M2F>R,IP5L%)$5T)0]>L&N-S/O=![;KACFZVQ#7XZ*^D&[L%\*U<*:W[+LF8"
M"LUD013D<^\ZO%I,;;P+^,Y@KP_*Q#IYD/+15KZNYUY@!0&'S%@&BK\=+(!S
M2X0R?C:<7CND!1Z6G]D_.^_HY8%J6$C^@ZW-=NY-/+*&G%;<W,G]%VC\))8O
MDUR[+]G7L0F.F%7:2-& L2Y84?_I4S,/!X!P> 00-8#H7$#< &)GM%;F;"VI
MH>E,R3U1-AK9;,'-C4.C&U;85;PW"GL9XDRZ:A;D!@K(F='D([G.3$45HYQ0
MC8M;VNG6Y-T2#&5<OY_Y!L>U:#]KQKBIQXB.C+&$;$#B\ .)@BCN@2_.AT==
MN(]N6\M1:SER?,,C?+>L8*(2?3Y. FU"7>F29C#W,&,TJ!UXZ=LWX2CXU.?J
M0F0=CW'K,7;L\9G+VF<VOJ39"Y%US Y;L\.3"[ID.I-588BB!OJ<UO"I@]MC
M;9<&@V TQKVX._30&Y:$?\(ZZI)677)2W1V*(C(GK,CPF-6 !9))@<>PINXD
MX[ #WB<[Z=,S3EZH_EM41_2H%3TZG2/TZ5B.G 3^Z[:Y$%G'X[CU.'YUCHPO
M:?9"9!VSD];LY'4Y,NG91F$T>;'9ZJA))RKJWVK35MGT/^7'M$_R\&5^3,^0
M[!]<H/;Q<DO5AN&EQR%'5# 88Y*I^D%05XPLW9WZ( W>T*ZXQ3<4*!N _;F4
MYKEBK^GV59;^!E!+ P04    " #T9F18G4 #*6@"  "J!@  &0   'AL+W=O
M<FMS:&5E=',O<VAE970V."YX;6R-E6MOFS 4AO^*Q:JIE;9R"Y=T!&EI-FT?
M)D6];)\=. 2K!C/;).V_GVT(RA:WV1>P\7G?YQR##]F>\2=1 TCTW-!6+)Q:
MRN[&=4510X/%->N@52L5XPV6:LJWKN@XX-*(&NH&GA>[#2:MDV?FV9KG&>LE
M)2VL.1)]TV#^L@3*]@O'=PX/[LBVEOJ!FV<=WL(]R,=NS=7,G5Q*TD K"&L1
MAVKA?/9OEG,=;P)^$MB+HS'2E6P8>]*3[^7"\71"0*&0V@&KVPYN@5)MI-+X
M/7HZ$U(+C\<']Z^F=E7+!@NX9?07*66]<%('E5#AGLH[MO\&8SV1]BL8%>:*
M]D-LHH*+7DC6C&*504/:X8Z?QWTX$@3!*X)@% 0F[P%DLEQAB?.,LSWB.EJY
MZ8$IU:A5<J35+^5><K5*E$[FZW%_E]!"1:1 ']$7(8DJ%TI4];+G@#;#&NKP
MBWH=*N9R!1(3*J[0!2(M>JA9+W!;BLR5*B5M[!8C?CG@@U?P*RBN4>A_0($7
MA.CQ?H4N+Z[^MG%515-9P5168'S#_RS+EMG@,+,[Z,-P(SI<P,)17[L O@,G
M?__.C[U/;^073OF%;[GGJMR9+:=!%1F5/D^[/$WGF;NSH&83:G8.%=E0@RH^
M0LU"WXZ*)E1T#A7;4-$)*H@3.RJ>4/$Y5&)#Q2>H9/;*!B83*CF'2FVHY 3E
M)Y$=E4ZH]!QJCB13IR$,;,CT!!GY7FIGSB?F_$WF Y.8VF#SDV\QB?U_]](]
M:CVZB__ ?$M:@2A42N9=)TK/A\XX3"3K3#?:,*EZFQG6ZF<"7 >H]8HQ>9CH
M!C?]GO(_4$L#!!0    ( /1F9%BNI@ZOR (  !4)   9    >&PO=V]R:W-H
M965T<R]S:&5E=#8Y+GAM;*V6;6^;,!#'OXK%JJF5MO"4)EE'D/*P:7U1*6K4
M[;6!(U@U=F:;I/OVLPUA24=9M^4-V.;N[_L=/HYHS\6C+  4>BHIDU.G4&I[
MX[HR+:#$<L"WP/23G(L2*ST5&U=N!>#,.I74#3QOY):8,">.[-I*Q!&O%"4,
M5@+)JBRQ^#$'RO=3QW<."_=D4RBSX,;1%F]@#>IANQ)ZYK8J&2F!2<(9$I!/
MG9E_LY@8>VOPE<!>'HV1(4DX?S23VVSJ>"8@H) JHX#U;0<+H-0(Z3"^-YI.
MNZ5Q/!X?U#];=LV28 D+3K^13!539^*@#')<477/]U^@X;DV>BFGTE[1OK8=
MCQR45E+QLG'6$92$U7?\U.3AR,%_R2%H'(+G#L,7',+&(;2@=606:XD5CB/!
M]T@8:ZUF!C8WUEO3$&;>XEH)_91H/Q6OFA<R!P8Y41*]1[,L(R;%F*);5I\3
M8W&Y!(4)E5?:Y&&]1)<75^@"$8;N"*7:0$:NT@$963=M-I_7FP<O;.X'Z(XS
M54CTB660G0JXFJ3%"0XX\Z!7<0GI (7^.Q1X0=@1T.+U[D%/.&&;W=#JA:_,
M;E>*:H5AMX(IXANYQ2E,'5VE$L0.G/CM&W_D?>S".Y/8">RPA1WVJ6M807B&
M>(Z,,DD!*8X22'D)""C9D(1"5P+Z54>HM$>DB[;7\Q]IKUO:Z]ZX9FE:E17%
M"C(-:5\OXHG&M-72Q5GK^9X5-%_771P./D3N[ABITRAHC4Y"';6ACGI#75>)
M)!G!@D#G">SU_ML3>":Q$]!Q"SK^[W(;GQ/V3&(GL),6=O*'<JMAX4EW=-E9
M69/?#Y-_=)AJADXC_]F)<X\Z3 EB8QNO1"FOF*J_SNUJV]MGMJ4]6Y_KGE^W
MZ%\R]0_#'18;PB2BD&M);S#6I2#J)EQ/%-_:/I9PI;NB'1;ZOP6$,=#/<\[5
M86(V:/^$XI]02P,$%     @ ]&9D6'+P>O0T!   \Q0  !D   !X;"]W;W)K
M<VAE971S+W-H965T-S N>&ULK9AM;^LF%,>_"O*JJ96J.G:>NR12&V_:)G6J
M;M:[U\0F,2HV'N#D=MJ''QC'L1V');WT16,PY\_A!QR.F>TI>^<Q0@)\2TC*
MYTXL1/;HNCR,40+Y \U0*M]L*$N@D$6V=7G&$(P*HX2X?J\W<A.(4V<Q*^I>
MV6)&<T%PBEX9X'F20/;QC C=SQW/.51\P=M8J IW,<O@%JV0>,M>F2RYE4J$
M$Y1R3%/ T&;N/'F/@3=2!D6+KQCM>>T9J*&L*7U7A=^BN=-3'B&"0J$DH/S9
MH24B1"E)/_XN19VJ3V58?SZH_U(,7@YF#3E:4O(7CD0\=R8.B- &YD1\H?M?
M43F@H=(+*>'%?[#7;8=3!X0Y%S0IC:4'"4[U+_Q6@J@;#,X8^*6!WS+PO3,&
M_=*@WS;PSQ@,2H-!048/I> 00 $7,T;W@*G64DT]%# +:SE\G*IY7PDFWV)I
M)Q9+F&$!"5@)&KZ#VP )B F_ S? !3R&#'& 4_"68L'O9:5\?L&$R!GC,U?(
M_I6*&Y9]/>N^_#-]>3YXH:F(.?@YC5#4%'"EXY7W_L'[9]^H&*#P ?2]>^#W
M_#YX6P7@]N8.?*4"'=VOC43_=#B^O+P;_[Q*8%;Y/2<'%6]Z<-8 H5]-8;_0
M[5\RA5VSHLT'W>8JL#SR#(9H[LC(P1';(6?QXP_>J/=3%RF;8H$EL0:V085M
M8%)?+&F2R,##%;7[PPJ!N8@IP_^T5Z<&J05'A: *J+O%>-@K_F;NK@[ITH:!
MT<5/ AA6 (9& '_DR1HQ0#=@)S<,!YDL%!C O\TMU(5B>#)"K\7 V/FU"\62
M6(/3J.(T,G(*\ Y'*(VX/$]"(H%$X%;&P8@26:AANY/<;HS0=#_#&K3VPC%Z
M<BTT2V(-:.,*VM@([54>WX@I5BN]P59Z@ST9-]CX9%4-IM/)Z?ZZL%U@]/&3
M!"85@<G%\064\A& .WF^PC5!0.9L8).+7.XWS'D.TQ!U(9F<;K3IQ!OT1BTD
M1F>N73F6Q!K<IA6WJ9';GS)]Y3G[.'^>&>VO/<]LB@66Q!K<O-XQE>M]7R)0
MVELB9U4ML*769%=+@SWCJENUSW\@J-RU6<["6'Y6J-#>2=2H>C51FVI!J58_
M;OPJ:#0Q^4=,OCFL'WC(K$$<-JH.<>I,U$??72<I_R20M:/Z_S<)S.Y]=I4<
M,VW/F)&V8M,]"'6,WT&2GU\B6E*M[V,(?YBTQVXUK[:EUL1TS*P]<VK=Q"3!
MR$^?C^*SIQ.0I22X!&E3+;"EU@1YS-"]X7=&=)M9]M*J6F!+K<GNF+5[YK3]
MLQ%]U+5=A^WM:C51MZ6F2;FUVZ $L6UQJ\9EK,I3H:]6JMKJYNZIN*]JU3][
MCTM]_W:4T=>!+Y!M<<H!01LIV7L8RZEF^H9-%P3-BCNG-16")L5CC&"$F&H@
MWV^H_, L"ZJ#ZIYS\1]02P,$%     @ ]&9D6/U@RK+? P  X1$  !D   !X
M;"]W;W)K<VAE971S+W-H965T-S$N>&ULM9AM<]HX$,>_BL9WTTEG6FS98" %
MS^2I<WV1:2:9:U\K]@*:R)9/$A"^_4FV8QMJ=)#Z\B)8LO:O_4G+LM)LR\6+
M7 $H])JR3,Z=E5+YI>O*> 4ID0.>0Z;?++A(B=)-L71E+H DA5'*7-_S0C<E
M-'.B6='W(*(97RM&,W@02*[3E(C=-3"^G3O8>>MXI,N5,AUN-,O)$IY _9T_
M"-UR:Y6$II!)RC,D8#%WKO#E#9X8@V+$#PI;V7I&!N69\Q?3^);,'<]X! QB
M922(_MC #3!FE+0?_U2B3CVG,6P_OZE_+> US#.1<,/93YJHU=R9."B!!5DS
M]<BW?T$%-#)Z,6>R^(^VU5C/0?%:*IY6QMJ#E&;E)WFM%J)E@,,C!GYEX!\8
M^,$1@Z R" K0TK,"ZY8H$LT$WR)A1FLU\U"L36&M:6AFMO%)"?V6:CL5/2D>
MOZ#ON5E3B3ZCGP4W).AJ T+O(_I*J$ _"%N#1"33_5+O>#7\XA84H4Q^U(9W
M:<[X#@"U%77_G\A%<D4$R)FKM,-F6C>NG+LNG?./.(=]=,\SM9+H+DL@V1=P
M-6F-Z[_A7OM6Q5N(!RC GY#O^4&'0S>GF_L6=X)Z]8-"+SAE];O6IS0?=IN;
MK_BES$D,<T=_AR6(#3C1AS]PZ'WI8NM);(]T6),.;>I1'5>DBJN%B:N-B2O$
M%XA7$;44)#.C+FB&$LX8$1+E(,H(^MBU0N6TXV):D[,VD3\8A3-WTR;O&A2.
MZT%[1*.::&0E>J3RY?-"Z(BGVF6]8@H)HJ#+QU)HVIK>&WC#8'C@I76^=^Y/
M6-.$5IJ[UUPG5KWR&B5%%SO0*]^YWG:9$!667=%G-7PGW;BF&Y]&M^&,*,JH
MVND C!4778CCCNT:CX+AM/5WL'76Z=\)-ZGA)J?!)71#$\B2SDQ2:DS:4 <,
MMA%[CDUKQZ96Q^YI1M-UVN6-U?#<O-:3V!XC]IH?4._W<GAEWQ-L7VK[M*UR
M ?>5]>Q*9W/CKB2*I\/N&,5^0^3WD_GL.F?SV+T*NA+I/F%39&#K+_N9V<\N
M=C9F\&M6&83^D4UKJ@EL+R?NR>NQU&*W/-O_GM3V.9L: X]^,[GT5#14M/]'
M"8*;&@3;JX=SDDM/Y43%'796:-[T2)PV=0<^L?#XS^324P51\=B]JJHT-$)I
M>;S"*"$[VQ8VM0@^L1@Y+==8Q<ZF[JA@!N/#/71;A^44Q+*X0Y HYNM,E0?)
MNK>^I[@J3N<'_=?F_J(XA#<RY>7'/1%+JD\S#!9:TA2/#A+E?4+94#POCN3/
M7.D#?O&X I* , /T^P7GZJUA)JAO=:)_ 5!+ P04    " #T9F18$DPW"CP'
M  !_+P  &0   'AL+W=O<FMS:&5E=',O<VAE970W,BYX;6RU6MERVS84_16,
MVNDD,[%$+-Q<VS.VX[9Y2..)F^29EF")$RXJ"7F9Z<<77$20! @NDEYLD@(N
MSKG8#@]Q\1(G/],-I0R\AD&47LXVC&W/%XMTN:&AE\[C+8WX+T]Q$GJ,WR;K
M1;I-J+?**X7! AF&M0@]/YI=7>3/[I.KBWC' C^B]PE(=V'H)6\W-(A?+F=P
MMG_PU5]O6/9@<76Q]=;T@;)OV_N$WRVJ*"L_I%'JQQ%(Z-/E[!J>WQ(WJY"7
M^.[3E[1V#3(JCW'\,[OYM+J<&1DB&M ERT)X_-\SO:5!D$7B./XM@\ZJ-K.*
M]>M]]#]R\IS,HY?2VSCXX:_8YG+FS,"*/GF[@'V-7_ZB)2$SB[>,@S3_"U[*
MLL8,+'<IB\.R,D<0^E'QWWLM$U&K@,R."JBL@-H52$<%7%; .=$"64[KH\>\
MJXLD?@%)5II'RR[RW.2U.1L_RKKQ@27\5Y_78U</+%[^!%^V64Y3< 8>BNX$
M\1.H_P2NLW3[[ V\^TB9YP?I>U[X+MP&\1NES:)GX-O#1_#NU_<7"\819NTL
MEB6:FP(-ZD #$?@<1VR3@KMH15?-  M.K>*']OQND#;B1[J< PP_ &0@K !T
M.[PZTL#!5;IQ'H]TQ$,&Q&6V[@,O4F5(&R";U>?IUEO2RQF?MBE-GNGLZK=?
MH&7\KF)WI& -KJ3B2O+H>,C04C$EQV1ZI& -IF;%U-3VZM^[\)$FV9PIV7X
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
MXTZJ)HR;B9&5R[.E-)B.;EC@_PN4+<#G*RG-;F(;='_$]"]02P,$%     @
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
M"VV>J%MF9HB"M GF?".$WF]L@6XLQ[\!4$L#!!0    ( /1F9%A.32 >1 (
M (L&   9    >&PO=V]R:W-H965T<R]S:&5E=#@W+GAM;)V56V^;,!2 _XK%
MI#VUX9;+E@%2TFY:'CI%:;<].W  J\9FM@GMOZ]M",NFA$IY =N<\_D[1ARB
MEHMG60(H]%)1)F.G5*I>NJY,2ZBPG/ :F'Z2<U%AI:>B<&4M &<VJ:)NX'ES
MM\*$.4EDU[8BB7BC*&&P%4@V587%ZQHH;V/'=XX+.U*4RBRX253C AY!_:RW
M0L_<@9*1"I@DG"$!>>RL_.5Z8>)MP"\"K3P9(U/)GO-G,]EDL>,9(:"0*D/
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
M"^HM!'HKZJT$>BOJK01Z*^JM!'KK9+.$0&]%O95 ;T6]E4!O1;V50&]%O95
M;T6]E4!O1;V50.^$>B<"O1/JG0CT3JAW(M [H=Z)0.\TV>PFT#NAWHE [X1Z
M)P*]$^J="/1.J'<BT#NAWHE ;T.]C4!O0[V-0&]#O8U ;T.]C4!O0[V-0&^;
M?*PDT-M0;R/0VU!O(]#;4&\CT-M0;R/0VU%O)]#;46\GT-M1;R?0VU%O)]#;
M46\GT-M1;R?0VR<_FQ#H[:BW$^CMJ+<3Z.VHMQ/HG5'O3*!W1KTS@=X9]<X$
M>F?4.Q/HG5'O3*!W1KTS@=X9]<X$>N?)SX($>F?4.Q/HG5'O3*!W0;T+@=X%
M]2X$>A?4NQ#H75#O0J!W0;T+@=X%]2X$>A?4NQ#H75#O\IUZ#^/GH0ZWGJ\U
M/O\[J1XO]];;XZ_+KY,3=JXXA_N*X?DO4$L#!!0    ( /1F9%@AV_FQ,0(
M ,TQ   3    6T-O;G1E;G1?5'EP97-=+GAM;,W;36[;,!"&X:L8V@:6+%*D
MU"+.INVVS:(78"4Z%JP_D$SJW+Z4G 1HD1H)7*#OQH)-<KX1!WAVOO[^.%F_
M.O;=X+?)/H3I8Y;Y>F][X]-QLD-<V8VN-R%^=7?99.J#N;.9V&QT5H]#L$-8
MA[E&<G/]V>[,?1=67X[Q9]^.PS9QMO/)ZM-IXYRU3<PT=6UM0ES/'H;FCY3U
M4T(:3RY[_+Z=_%7<D&2O)LPK?P]X.O?MP3K7-G9U:USX:OJX*SMVF0^/G?7I
M^1*O]#CN=FUMF[&^[^.1U$_.FL;OK0U]EYZ*7IU/#O&&[>DSOSA_*7,N,.Z\
M=>/DX\2<?7_<\TCFT^LI%K(NM.=?\24QEK[X_>P\[<8V;\R.U_MS=(=E'CY;
M'I??\>\S?JG_SCX$I \)Z:. ]*$@?6A('R6DCPK2QP=('_F&T@A%U)Q":DXQ
M-:>@FE-4S2FLYA17<PJL.45609%54&05%%D%159!D5509!44605%5D&155!D
ME119)45629%54F25%%DE159)D5529)44625%UH(B:T&1M:#(6E!D+2BR%A19
M"XJL!476@B)K09%54615%%D5159%D5519%44615%5D6155%D5119-45639%5
M4V35%%DU159-D5539-44635%5DV1M:3(6E)D+2FREA192XJL)476DB)K29&U
MI,A:4F2M*+)6%%DKBJP51=:*(FM%D;6BR%K]3UE_C./A'\<OS[0W[?"<GRW_
MXKCY!5!+ 0(4 Q0    ( /-F9%@'04UB@0   +$    0              "
M 0    !D;V-0<F]P<R]A<' N>&UL4$L! A0#%     @ \V9D6)&/N#SO
M*P(  !$              ( !KP   &1O8U!R;W!S+V-O<F4N>&UL4$L! A0#
M%     @ \V9D6)E<G",0!@  G"<  !,              ( !S0$  'AL+W1H
M96UE+W1H96UE,2YX;6Q02P$"% ,4    " #S9F18'4P;#%$'  "O,   &
M            @($."   >&PO=V]R:W-H965T<R]S:&5E=#$N>&UL4$L! A0#
M%     @ \V9D6!1NQP5/!P  \AX  !@              ("!E0\  'AL+W=O
M<FMS:&5E=',O<VAE970R+GAM;%!+ 0(4 Q0    ( /-F9%A:HEHOW (  $ )
M   8              " @1H7  !X;"]W;W)K<VAE971S+W-H965T,RYX;6Q0
M2P$"% ,4    " #S9F18EV(Y=,T%  "1&   &               @($L&@
M>&PO=V]R:W-H965T<R]S:&5E=#0N>&UL4$L! A0#%     @ \V9D6%RRS))D
M!P  KC@  !@              ("!+R   'AL+W=O<FMS:&5E=',O<VAE970U
M+GAM;%!+ 0(4 Q0    ( /-F9%C!'@?L!@<  #T>   8              "
M@<DG  !X;"]W;W)K<VAE971S+W-H965T-BYX;6Q02P$"% ,4    " #S9F18
M"B-E%*D:  #'3   &               @($%+P  >&PO=V]R:W-H965T<R]S
M:&5E=#<N>&UL4$L! A0#%     @ \V9D6!KG \+0 @  00<  !@
M     ("!Y$D  'AL+W=O<FMS:&5E=',O<VAE970X+GAM;%!+ 0(4 Q0    (
M /-F9%C]XKLVYP,  (P)   8              " @>I,  !X;"]W;W)K<VAE
M971S+W-H965T.2YX;6Q02P$"% ,4    " #S9F18K=7?]GX#  """   &0
M            @($'40  >&PO=V]R:W-H965T<R]S:&5E=#$P+GAM;%!+ 0(4
M Q0    ( /-F9%B+.@AF; @  ( <   9              " @;Q4  !X;"]W
M;W)K<VAE971S+W-H965T,3$N>&UL4$L! A0#%     @ \V9D6-U^&#I^#P
M_S(  !D              ("!7UT  'AL+W=O<FMS:&5E=',O<VAE970Q,BYX
M;6Q02P$"% ,4    " #S9F18])XDL,$"   <!P  &0              @($4
M;0  >&PO=V]R:W-H965T<R]S:&5E=#$S+GAM;%!+ 0(4 Q0    ( /-F9%CZ
MG@##L00  )(+   9              " @0QP  !X;"]W;W)K<VAE971S+W-H
M965T,30N>&UL4$L! A0#%     @ \V9D6&ZR:;E^!0  N X  !D
M     ("!]'0  'AL+W=O<FMS:&5E=',O<VAE970Q-2YX;6Q02P$"% ,4
M" #S9F18((9$2SD'  ##%0  &0              @(&I>@  >&PO=V]R:W-H
M965T<R]S:&5E=#$V+GAM;%!+ 0(4 Q0    ( /-F9%@X/D4K"0(  -$$   9
M              " @1F"  !X;"]W;W)K<VAE971S+W-H965T,3<N>&UL4$L!
M A0#%     @ \V9D6)"B *99"P  8BH  !D              ("!680  'AL
M+W=O<FMS:&5E=',O<VAE970Q."YX;6Q02P$"% ,4    " #S9F183?)D8F\$
M  "%#P  &0              @('ICP  >&PO=V]R:W-H965T<R]S:&5E=#$Y
M+GAM;%!+ 0(4 Q0    ( /-F9%AS-RD07P@  *89   9              "
M@8^4  !X;"]W;W)K<VAE971S+W-H965T,C N>&UL4$L! A0#%     @ \V9D
M6+$K_4[D P  +PH  !D              ("!)9T  'AL+W=O<FMS:&5E=',O
M<VAE970R,2YX;6Q02P$"% ,4    " #S9F18 !+(+> &  !C$@  &0
M        @(% H0  >&PO=V]R:W-H965T<R]S:&5E=#(R+GAM;%!+ 0(4 Q0
M   ( /-F9%AZ!8C>BP0  (H*   9              " @5>H  !X;"]W;W)K
M<VAE971S+W-H965T,C,N>&UL4$L! A0#%     @ \V9D6/_.>.6] P  6P@
M !D              ("!&:T  'AL+W=O<FMS:&5E=',O<VAE970R-"YX;6Q0
M2P$"% ,4    " #S9F18P14>31H<  !.6   &0              @($-L0
M>&PO=V]R:W-H965T<R]S:&5E=#(U+GAM;%!+ 0(4 Q0    ( /-F9%A1_AP0
MR ,  !0*   9              " @5[-  !X;"]W;W)K<VAE971S+W-H965T
M,C8N>&UL4$L! A0#%     @ \V9D6(G]LQ1@ @  &@8  !D
M ("!7=$  'AL+W=O<FMS:&5E=',O<VAE970R-RYX;6Q02P$"% ,4    " #S
M9F18^.U17B #   G"   &0              @('TTP  >&PO=V]R:W-H965T
M<R]S:&5E=#(X+GAM;%!+ 0(4 Q0    ( /-F9%BR;XN&( ,  *0'   9
M          " @4O7  !X;"]W;W)K<VAE971S+W-H965T,CDN>&UL4$L! A0#
M%     @ \V9D6')-%&V"!0  )A4  !D              ("!HMH  'AL+W=O
M<FMS:&5E=',O<VAE970S,"YX;6Q02P$"% ,4    " #S9F18D(".-3X'  !G
M&0  &0              @(%;X   >&PO=V]R:W-H965T<R]S:&5E=#,Q+GAM
M;%!+ 0(4 Q0    ( /-F9%BKY3).S0(  !X'   9              " @=#G
M  !X;"]W;W)K<VAE971S+W-H965T,S(N>&UL4$L! A0#%     @ \V9D6'&S
MT7 ^!   90P  !D              ("!U.H  'AL+W=O<FMS:&5E=',O<VAE
M970S,RYX;6Q02P$"% ,4    " #S9F184[,</ 4%  !Z$   &0
M    @(%)[P  >&PO=V]R:W-H965T<R]S:&5E=#,T+GAM;%!+ 0(4 Q0    (
M /-F9%A(-GBZ 08  +0:   9              " @87T  !X;"]W;W)K<VAE
M971S+W-H965T,S4N>&UL4$L! A0#%     @ \V9D6!>I(;'& P  GPT  !D
M             ("!O?H  'AL+W=O<FMS:&5E=',O<VAE970S-BYX;6Q02P$"
M% ,4    " #S9F18SSVYGV@%  !)$0  &0              @(&Z_@  >&PO
M=V]R:W-H965T<R]S:&5E=#,W+GAM;%!+ 0(4 Q0    ( /-F9%CA3_J3MP(
M $X&   9              " @5D$ 0!X;"]W;W)K<VAE971S+W-H965T,S@N
M>&UL4$L! A0#%     @ \V9D6!V.[Z[P P  '0L  !D              ("!
M1P<! 'AL+W=O<FMS:&5E=',O<VAE970S.2YX;6Q02P$"% ,4    " #S9F18
M,>41M&P&   J,   &0              @(%N"P$ >&PO=V]R:W-H965T<R]S
M:&5E=#0P+GAM;%!+ 0(4 Q0    ( /-F9%CQ<2SMRP(  )$'   9
M      " @1$2 0!X;"]W;W)K<VAE971S+W-H965T-#$N>&UL4$L! A0#%
M  @ \V9D6,3(]D,@ P  W @  !D              ("!$Q4! 'AL+W=O<FMS
M:&5E=',O<VAE970T,BYX;6Q02P$"% ,4    " #S9F18)H4<MD\"  !:!@
M&0              @(%J& $ >&PO=V]R:W-H965T<R]S:&5E=#0S+GAM;%!+
M 0(4 Q0    ( /-F9%CX$? E6 (  $\&   9              " @? : 0!X
M;"]W;W)K<VAE971S+W-H965T-#0N>&UL4$L! A0#%     @ \V9D6&+&JH*\
M @  Y 8  !D              ("!?QT! 'AL+W=O<FMS:&5E=',O<VAE970T
M-2YX;6Q02P$"% ,4    " #S9F18J)E6XK\#  "[$P  &0
M@(%R( $ >&PO=V]R:W-H965T<R]S:&5E=#0V+GAM;%!+ 0(4 Q0    ( /-F
M9%C%28!R%@,  +T-   9              " @6@D 0!X;"]W;W)K<VAE971S
M+W-H965T-#<N>&UL4$L! A0#%     @ \V9D6.S1=\6# @  \@4  !D
M         ("!M2<! 'AL+W=O<FMS:&5E=',O<VAE970T."YX;6Q02P$"% ,4
M    " #S9F18 T,>=O8"  "9"P  &0              @(%O*@$ >&PO=V]R
M:W-H965T<R]S:&5E=#0Y+GAM;%!+ 0(4 Q0    ( /1F9%BU%9^H_ 8  # P
M   9              " @9PM 0!X;"]W;W)K<VAE971S+W-H965T-3 N>&UL
M4$L! A0#%     @ ]&9D6.7 BNF^ @  A D  !D              ("!SS0!
M 'AL+W=O<FMS:&5E=',O<VAE970U,2YX;6Q02P$"% ,4    " #T9F182\F9
MZRH#   G"P  &0              @('$-P$ >&PO=V]R:W-H965T<R]S:&5E
M=#4R+GAM;%!+ 0(4 Q0    ( /1F9%A)(DKGRP0  $42   9
M  " @24[ 0!X;"]W;W)K<VAE971S+W-H965T-3,N>&UL4$L! A0#%     @
M]&9D6!S,'>\@!   4Q   !D              ("!)T ! 'AL+W=O<FMS:&5E
M=',O<VAE970U-"YX;6Q02P$"% ,4    " #T9F18=X;>/*("   0!P  &0
M            @(%^1 $ >&PO=V]R:W-H965T<R]S:&5E=#4U+GAM;%!+ 0(4
M Q0    ( /1F9%A2UJV:# ,  / (   9              " @5=' 0!X;"]W
M;W)K<VAE971S+W-H965T-38N>&UL4$L! A0#%     @ ]&9D6.J1&8TY!@
MK#,  !D              ("!FDH! 'AL+W=O<FMS:&5E=',O<VAE970U-RYX
M;6Q02P$"% ,4    " #T9F18^-RRXO,"  "3"0  &0              @($*
M40$ >&PO=V]R:W-H965T<R]S:&5E=#4X+GAM;%!+ 0(4 Q0    ( /1F9%BH
MA*A)K@(  &8&   9              " @314 0!X;"]W;W)K<VAE971S+W-H
M965T-3DN>&UL4$L! A0#%     @ ]&9D6)@Y\)E] @  "P@  !D
M     ("!&5<! 'AL+W=O<FMS:&5E=',O<VAE970V,"YX;6Q02P$"% ,4
M" #T9F18IK,3*^("  #."@  &0              @('-60$ >&PO=V]R:W-H
M965T<R]S:&5E=#8Q+GAM;%!+ 0(4 Q0    ( /1F9%@)MQ.B3 ,  %0-   9
M              " @>9< 0!X;"]W;W)K<VAE971S+W-H965T-C(N>&UL4$L!
M A0#%     @ ]&9D6!,HX=D8 @  UP0  !D              ("!:6 ! 'AL
M+W=O<FMS:&5E=',O<VAE970V,RYX;6Q02P$"% ,4    " #T9F18R1/X><0#
M  #Z"P  &0              @(&X8@$ >&PO=V]R:W-H965T<R]S:&5E=#8T
M+GAM;%!+ 0(4 Q0    ( /1F9%C-GV$G<P,  'L*   9              "
M@;-F 0!X;"]W;W)K<VAE971S+W-H965T-C4N>&UL4$L! A0#%     @ ]&9D
M6,Y P&-E @  9 8  !D              ("!76H! 'AL+W=O<FMS:&5E=',O
M<VAE970V-BYX;6Q02P$"% ,4    " #T9F183R 1-I8"  "A"0  &0
M        @('Y; $ >&PO=V]R:W-H965T<R]S:&5E=#8W+GAM;%!+ 0(4 Q0
M   ( /1F9%B=0 ,I: (  *H&   9              " @<9O 0!X;"]W;W)K
M<VAE971S+W-H965T-C@N>&UL4$L! A0#%     @ ]&9D6*ZF#J_( @  %0D
M !D              ("!97(! 'AL+W=O<FMS:&5E=',O<VAE970V.2YX;6Q0
M2P$"% ,4    " #T9F18<O!Z]#0$  #S%   &0              @(%D=0$
M>&PO=V]R:W-H965T<R]S:&5E=#<P+GAM;%!+ 0(4 Q0    ( /1F9%C]8,JR
MWP,  .$1   9              " @<]Y 0!X;"]W;W)K<VAE971S+W-H965T
M-S$N>&UL4$L! A0#%     @ ]&9D6!),-PH\!P  ?R\  !D
M ("!Y7T! 'AL+W=O<FMS:&5E=',O<VAE970W,BYX;6Q02P$"% ,4    " #T
M9F188R6J(JT#  #'$   &0              @(%8A0$ >&PO=V]R:W-H965T
M<R]S:&5E=#<S+GAM;%!+ 0(4 Q0    ( /1F9%A,>WO2804  +0>   9
M          " @3R) 0!X;"]W;W)K<VAE971S+W-H965T-S0N>&UL4$L! A0#
M%     @ ]&9D6-HWC,4R!0  1AP  !D              ("!U(X! 'AL+W=O
M<FMS:&5E=',O<VAE970W-2YX;6Q02P$"% ,4    " #T9F18(7\>LQT&   %
M+@  &0              @($]E $ >&PO=V]R:W-H965T<R]S:&5E=#<V+GAM
M;%!+ 0(4 Q0    ( /1F9%AC3?;Y&P0  *P9   9              " @9&:
M 0!X;"]W;W)K<VAE971S+W-H965T-S<N>&UL4$L! A0#%     @ ]&9D6)DM
MN@NX P  B!(  !D              ("!XYX! 'AL+W=O<FMS:&5E=',O<VAE
M970W."YX;6Q02P$"% ,4    " #T9F18C>1SB5$%  !4)@  &0
M    @('2H@$ >&PO=V]R:W-H965T<R]S:&5E=#<Y+GAM;%!+ 0(4 Q0    (
M /1F9%CPJIMIN (  !T'   9              " @5JH 0!X;"]W;W)K<VAE
M971S+W-H965T.# N>&UL4$L! A0#%     @ ]&9D6%09RAR1 @  YP8  !D
M             ("!2:L! 'AL+W=O<FMS:&5E=',O<VAE970X,2YX;6Q02P$"
M% ,4    " #T9F182PY*_Q0"   $!0  &0              @($1K@$ >&PO
M=V]R:W-H965T<R]S:&5E=#@R+GAM;%!+ 0(4 Q0    ( /1F9%AJXD7FJ0(
M ' )   9              " @5RP 0!X;"]W;W)K<VAE971S+W-H965T.#,N
M>&UL4$L! A0#%     @ ]&9D6.^S:Z.= @  A08  !D              ("!
M/+,! 'AL+W=O<FMS:&5E=',O<VAE970X-"YX;6Q02P$"% ,4    " #T9F18
M^PK0<8,#  !9#0  &0              @($0M@$ >&PO=V]R:W-H965T<R]S
M:&5E=#@U+GAM;%!+ 0(4 Q0    ( /1F9%@QB3 <2@(  *(%   9
M      " @<JY 0!X;"]W;W)K<VAE971S+W-H965T.#8N>&UL4$L! A0#%
M  @ ]&9D6$Y-(!Y$ @  BP8  !D              ("!2[P! 'AL+W=O<FMS
M:&5E=',O<VAE970X-RYX;6Q02P$"% ,4    " #T9F18C#+VLSL#  #($P
M#0              @ '&O@$ >&PO<W1Y;&5S+GAM;%!+ 0(4 Q0    ( /1F
M9%B7BKL<P    !,"   +              "  2S" 0!?<F5L<R\N<F5L<U!+
M 0(4 Q0    ( /1F9%BQJPF3G 8  !,Y   /              "  17# 0!X
M;"]W;W)K8F]O:RYX;6Q02P$"% ,4    " #T9F180,IUT8X"  !,,P  &@
M            @ '>R0$ >&PO7W)E;',O=V]R:V)O;VLN>&UL+G)E;'-02P$"
M% ,4    " #T9F18(=OYL3$"  #-,0  $P              @ &DS $ 6T-O
F;G1E;G1?5'EP97-=+GAM;%!+!08     7P!? ! :   &SP$    !

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>104
<FILENAME>Show.js
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
// Edgar(tm) Renderer was created by staff of the U.S. Securities and Exchange Commission.  Data and content created by government employees within the scope of their employment are not subject to domestic copyright protection. 17 U.S.C. 105.
var Show={};Show.LastAR=null,Show.showAR=function(a,r,w){if(Show.LastAR)Show.hideAR();var e=a;while(e&&e.nodeName!='TABLE')e=e.nextSibling;if(!e||e.nodeName!='TABLE'){var ref=((window)?w.document:document).getElementById(r);if(ref){e=ref.cloneNode(!0);
e.removeAttribute('id');a.parentNode.appendChild(e)}}
if(e)e.style.display='block';Show.LastAR=e};Show.hideAR=function(){Show.LastAR.style.display='none'};Show.toggleNext=function(a){var e=a;while(e.nodeName!='DIV')e=e.nextSibling;if(!e.style){}else if(!e.style.display){}else{var d,p_;if(e.style.display=='none'){d='block';p='-'}else{d='none';p='+'}
e.style.display=d;if(a.textContent){a.textContent=p+a.textContent.substring(1)}else{a.innerText=p+a.innerText.substring(1)}}}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>105
<FILENAME>report.css
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
/* Updated 2009-11-04 */
/* v2.2.0.24 */

/* DefRef Styles */
..report table.authRefData{
	background-color: #def;
	border: 2px solid #2F4497;
	font-size: 1em;
	position: absolute;
}

..report table.authRefData a {
	display: block;
	font-weight: bold;
}

..report table.authRefData p {
	margin-top: 0px;
}

..report table.authRefData .hide {
	background-color: #2F4497;
	padding: 1px 3px 0px 0px;
	text-align: right;
}

..report table.authRefData .hide a:hover {
	background-color: #2F4497;
}

..report table.authRefData .body {
	height: 150px;
	overflow: auto;
	width: 400px;
}

..report table.authRefData table{
	font-size: 1em;
}

/* Report Styles */
..pl a, .pl a:visited {
	color: black;
	text-decoration: none;
}

/* table */
..report {
	background-color: white;
	border: 2px solid #acf;
	clear: both;
	color: black;
	font: normal 8pt Helvetica, Arial, san-serif;
	margin-bottom: 2em;
}

..report hr {
	border: 1px solid #acf;
}

/* Top labels */
..report th {
	background-color: #acf;
	color: black;
	font-weight: bold;
	text-align: center;
}

..report th.void	{
	background-color: transparent;
	color: #000000;
	font: bold 10pt Helvetica, Arial, san-serif;
	text-align: left;
}

..report .pl {
	text-align: left;
	vertical-align: top;
	white-space: normal;
	width: 200px;
	white-space: normal; /* word-wrap: break-word; */
}

..report td.pl a.a {
	cursor: pointer;
	display: block;
	width: 200px;
	overflow: hidden;
}

..report td.pl div.a {
	width: 200px;
}

..report td.pl a:hover {
	background-color: #ffc;
}

/* Header rows... */
..report tr.rh {
	background-color: #acf;
	color: black;
	font-weight: bold;
}

/* Calendars... */
..report .rc {
	background-color: #f0f0f0;
}

/* Even rows... */
..report .re, .report .reu {
	background-color: #def;
}

..report .reu td {
	border-bottom: 1px solid black;
}

/* Odd rows... */
..report .ro, .report .rou {
	background-color: white;
}

..report .rou td {
	border-bottom: 1px solid black;
}

..report .rou table td, .report .reu table td {
	border-bottom: 0px solid black;
}

/* styles for footnote marker */
..report .fn {
	white-space: nowrap;
}

/* styles for numeric types */
..report .num, .report .nump {
	text-align: right;
	white-space: nowrap;
}

..report .nump {
	padding-left: 2em;
}

..report .nump {
	padding: 0px 0.4em 0px 2em;
}

/* styles for text types */
..report .text {
	text-align: left;
	white-space: normal;
}

..report .text .big {
	margin-bottom: 1em;
	width: 17em;
}

..report .text .more {
	display: none;
}

..report .text .note {
	font-style: italic;
	font-weight: bold;
}

..report .text .small {
	width: 10em;
}

..report sup {
	font-style: italic;
}

..report .outerFootnotes {
	font-size: 1em;
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>107
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.24.0.1</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>215</ContextCount>
  <ElementCount>404</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>78</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>8</UnitCount>
  <MyReports>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>00090 - Document - Document and Entity Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation</Role>
      <ShortName>Document and Entity Information</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>00100 - Statement - CONSOLIDATED BALANCE SHEETS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets</Role>
      <ShortName>CONSOLIDATED BALANCE SHEETS</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>00105 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheetsParenthetical</Role>
      <ShortName>CONSOLIDATED BALANCE SHEETS (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>00200 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE LOSS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLoss</Role>
      <ShortName>CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE LOSS</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>00300 - Statement - CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfStockholdersEquity</Role>
      <ShortName>CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>00400 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows</Role>
      <ShortName>CONSOLIDATED STATEMENTS OF CASH FLOWS</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>10101 - Disclosure - Description of Business and Summary of Significant Accounting Estimates and Policies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPolicies</Role>
      <ShortName>Description of Business and Summary of Significant Accounting Estimates and Policies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>7</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>10201 - Disclosure - Short Term Investments - other</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureShortTermInvestmentsOther</Role>
      <ShortName>Short Term Investments - other</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>8</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>10301 - Disclosure - Accounts Receivable</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureAccountsReceivable</Role>
      <ShortName>Accounts Receivable</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>9</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>10401 - Disclosure - Property and equipment</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipment</Role>
      <ShortName>Property and equipment</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>10501 - Disclosure - Goodwill and Intangible Assets</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssets</Role>
      <ShortName>Goodwill and Intangible Assets</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>11</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>10601 - Disclosure - Income Taxes</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureIncomeTaxes</Role>
      <ShortName>Income Taxes</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>12</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>10701 - Disclosure - Long-term obligations</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureLongTermObligations</Role>
      <ShortName>Long-term obligations</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>10801 - Disclosure - Commitments and contingencies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureCommitmentsAndContingencies</Role>
      <ShortName>Commitments and contingencies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>14</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>10901 - Disclosure - Operating Leases</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureOperatingLeases</Role>
      <ShortName>Operating Leases</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>15</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>11001 - Disclosure - Pension Benefits</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosurePensionBenefits</Role>
      <ShortName>Pension Benefits</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>16</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>11101 - Disclosure - Capital Stock</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureCapitalStock</Role>
      <ShortName>Capital Stock</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>17</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>11201 - Disclosure - Stock Options</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureStockOptions</Role>
      <ShortName>Stock Options</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>18</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>11301 - Disclosure - Comprehensive loss</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureComprehensiveLoss</Role>
      <ShortName>Comprehensive loss</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>19</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>11401 - Disclosure - Segment reporting and concentrations</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrations</Role>
      <ShortName>Segment reporting and concentrations</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>20</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>11501 - Disclosure - Loss per Share</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureLossPerShare</Role>
      <ShortName>Loss per Share</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>21</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>11601 - Disclosure - Derivatives</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureDerivatives</Role>
      <ShortName>Derivatives</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>22</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>11701 - Disclosure - Line of Credit</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureLineOfCredit</Role>
      <ShortName>Line of Credit</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>23</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>11801 - Disclosure - Subsequent Event</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureSubsequentEvent</Role>
      <ShortName>Subsequent Event</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>24</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>20102 - Disclosure - Description of Business and Summary of Significant Accounting Estimates and Policies (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesPolicies</Role>
      <ShortName>Description of Business and Summary of Significant Accounting Estimates and Policies (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPolicies</ParentRole>
      <Position>25</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>30103 - Disclosure - Description of Business and Summary of Significant Accounting Estimates and Policies (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesTables</Role>
      <ShortName>Description of Business and Summary of Significant Accounting Estimates and Policies (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPolicies</ParentRole>
      <Position>26</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>30203 - Disclosure - Short Term Investments - other (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureShortTermInvestmentsOtherTables</Role>
      <ShortName>Short Term Investments - other (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.innodata-isogen.com/role/DisclosureShortTermInvestmentsOther</ParentRole>
      <Position>27</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>30303 - Disclosure - Accounts Receivable (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureAccountsReceivableTables</Role>
      <ShortName>Accounts Receivable (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.innodata-isogen.com/role/DisclosureAccountsReceivable</ParentRole>
      <Position>28</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>30403 - Disclosure - Property and equipment (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentTables</Role>
      <ShortName>Property and equipment (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipment</ParentRole>
      <Position>29</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>30503 - Disclosure - Goodwill and Intangible Assets (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsTables</Role>
      <ShortName>Goodwill and Intangible Assets (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssets</ParentRole>
      <Position>30</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>30603 - Disclosure - Income Taxes (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTables</Role>
      <ShortName>Income Taxes (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.innodata-isogen.com/role/DisclosureIncomeTaxes</ParentRole>
      <Position>31</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>30703 - Disclosure - Long-term obligations (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureLongTermObligationsTables</Role>
      <ShortName>Long-term obligations (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.innodata-isogen.com/role/DisclosureLongTermObligations</ParentRole>
      <Position>32</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>30903 - Disclosure - Operating Leases (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureOperatingLeasesTables</Role>
      <ShortName>Operating Leases (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.innodata-isogen.com/role/DisclosureOperatingLeases</ParentRole>
      <Position>33</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>31003 - Disclosure - Pension Benefits (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosurePensionBenefitsTables</Role>
      <ShortName>Pension Benefits (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.innodata-isogen.com/role/DisclosurePensionBenefits</ParentRole>
      <Position>34</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>31203 - Disclosure - Stock Options (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureStockOptionsTables</Role>
      <ShortName>Stock Options (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.innodata-isogen.com/role/DisclosureStockOptions</ParentRole>
      <Position>35</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>31303 - Disclosure - Comprehensive loss (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureComprehensiveLossTables</Role>
      <ShortName>Comprehensive loss (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.innodata-isogen.com/role/DisclosureComprehensiveLoss</ParentRole>
      <Position>36</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>31403 - Disclosure - Segment reporting and concentrations (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsTables</Role>
      <ShortName>Segment reporting and concentrations (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrations</ParentRole>
      <Position>37</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>31503 - Disclosure - Loss per Share (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureLossPerShareTables</Role>
      <ShortName>Loss per Share (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.innodata-isogen.com/role/DisclosureLossPerShare</ParentRole>
      <Position>38</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>31603 - Disclosure - Derivatives (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureDerivativesTables</Role>
      <ShortName>Derivatives (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.innodata-isogen.com/role/DisclosureDerivatives</ParentRole>
      <Position>39</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>40101 - Disclosure - Description of Business and Summary of Significant Accounting Estimates and Policies (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDetails</Role>
      <ShortName>Description of Business and Summary of Significant Accounting Estimates and Policies (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesTables</ParentRole>
      <Position>40</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>40102 - Disclosure - Description of Business and Summary of Significant Accounting Estimates and Policies - Stock-based compensation (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesStockBasedCompensationDetails</Role>
      <ShortName>Description of Business and Summary of Significant Accounting Estimates and Policies - Stock-based compensation (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>41</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>40103 - Disclosure - Description of Business and Summary of Significant Accounting Estimates and Policies - Deferred revenue (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDeferredRevenueDetails</Role>
      <ShortName>Description of Business and Summary of Significant Accounting Estimates and Policies - Deferred revenue (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesTables</ParentRole>
      <Position>42</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>40201 - Disclosure - Short Term Investments - other (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureShortTermInvestmentsOtherDetails</Role>
      <ShortName>Short Term Investments - other (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.innodata-isogen.com/role/DisclosureShortTermInvestmentsOtherTables</ParentRole>
      <Position>43</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>40301 - Disclosure - Accounts Receivable (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureAccountsReceivableDetails</Role>
      <ShortName>Accounts Receivable (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.innodata-isogen.com/role/DisclosureAccountsReceivableTables</ParentRole>
      <Position>44</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>40302 - Disclosure - Accounts Receivable - Activity in allowance for credit losses (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureAccountsReceivableActivityInAllowanceForCreditLossesDetails</Role>
      <ShortName>Accounts Receivable - Activity in allowance for credit losses (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>45</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R46.htm</HtmlFileName>
      <LongName>40401 - Disclosure - Property and equipment - Property and equipment (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentPropertyAndEquipmentDetails</Role>
      <ShortName>Property and equipment - Property and equipment (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>46</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R47.htm</HtmlFileName>
      <LongName>40402 - Disclosure - Property and equipment - Additional Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentAdditionalInformationDetails</Role>
      <ShortName>Property and equipment - Additional Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>47</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R48.htm</HtmlFileName>
      <LongName>40501 - Disclosure - Goodwill and Intangible Assets - Changes in carrying amount of goodwill (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsChangesInCarryingAmountOfGoodwillDetails</Role>
      <ShortName>Goodwill and Intangible Assets - Changes in carrying amount of goodwill (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>48</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R49.htm</HtmlFileName>
      <LongName>40502 - Disclosure - Goodwill and Intangible Assets (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsDetails</Role>
      <ShortName>Goodwill and Intangible Assets (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsTables</ParentRole>
      <Position>49</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R50.htm</HtmlFileName>
      <LongName>40503 - Disclosure - Goodwill and Intangible Assets - Acquisition-related intangible assets (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails</Role>
      <ShortName>Goodwill and Intangible Assets - Acquisition-related intangible assets (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>50</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R51.htm</HtmlFileName>
      <LongName>40504 - Disclosure - Goodwill and Intangible Assets - Estimated amortization expense (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedAmortizationExpenseDetails</Role>
      <ShortName>Goodwill and Intangible Assets - Estimated amortization expense (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>51</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R52.htm</HtmlFileName>
      <LongName>40601 - Disclosure - Income Taxes - Components of provision for income taxes (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureIncomeTaxesComponentsOfProvisionForIncomeTaxesDetails</Role>
      <ShortName>Income Taxes - Components of provision for income taxes (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>52</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R53.htm</HtmlFileName>
      <LongName>40602 - Disclosure - Income Taxes - Tax rate reconciliation (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails</Role>
      <ShortName>Income Taxes - Tax rate reconciliation (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>53</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R54.htm</HtmlFileName>
      <LongName>40603 - Disclosure - Income Taxes - Deferred tax assets and liabilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails</Role>
      <ShortName>Income Taxes - Deferred tax assets and liabilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>54</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R55.htm</HtmlFileName>
      <LongName>40604 - Disclosure - Income Taxes - United States and foreign components of income (loss) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureIncomeTaxesUnitedStatesAndForeignComponentsOfIncomeLossDetails</Role>
      <ShortName>Income Taxes - United States and foreign components of income (loss) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>55</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R56.htm</HtmlFileName>
      <LongName>40605 - Disclosure - Income Taxes - Unrecognized tax benefits (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureIncomeTaxesUnrecognizedTaxBenefitsDetails</Role>
      <ShortName>Income Taxes - Unrecognized tax benefits (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>56</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R57.htm</HtmlFileName>
      <LongName>40606 - Disclosure - Income Taxes (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDetails</Role>
      <ShortName>Income Taxes (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTables</ParentRole>
      <Position>57</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R58.htm</HtmlFileName>
      <LongName>40701 - Disclosure - Long-term obligations (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureLongTermObligationsDetails</Role>
      <ShortName>Long-term obligations (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.innodata-isogen.com/role/DisclosureLongTermObligationsTables</ParentRole>
      <Position>58</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R59.htm</HtmlFileName>
      <LongName>40801 - Disclosure - Commitments and contingencies (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureCommitmentsAndContingenciesDetails</Role>
      <ShortName>Commitments and contingencies (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.innodata-isogen.com/role/DisclosureCommitmentsAndContingencies</ParentRole>
      <Position>59</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R60.htm</HtmlFileName>
      <LongName>40901 - Disclosure - Operating Leases (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureOperatingLeasesDetails</Role>
      <ShortName>Operating Leases (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.innodata-isogen.com/role/DisclosureOperatingLeasesTables</ParentRole>
      <Position>60</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R61.htm</HtmlFileName>
      <LongName>40902 - Disclosure - Operating Leases - Financial statements related to operating leases (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureOperatingLeasesFinancialStatementsRelatedToOperatingLeasesDetails</Role>
      <ShortName>Operating Leases - Financial statements related to operating leases (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>61</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R62.htm</HtmlFileName>
      <LongName>40903 - Disclosure - Operating Leases - Net present value of the operating lease liability (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails</Role>
      <ShortName>Operating Leases - Net present value of the operating lease liability (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>62</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R63.htm</HtmlFileName>
      <LongName>40904 - Disclosure - Operating Leases - Weighted average remaining lease terms (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureOperatingLeasesWeightedAverageRemainingLeaseTermsDetails</Role>
      <ShortName>Operating Leases - Weighted average remaining lease terms (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>63</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R64.htm</HtmlFileName>
      <LongName>41001 - Disclosure - Pension Benefits - Benefit Obligations (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosurePensionBenefitsBenefitObligationsDetails</Role>
      <ShortName>Pension Benefits - Benefit Obligations (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>64</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R65.htm</HtmlFileName>
      <LongName>41002 - Disclosure - Pension Benefits - Components of Net Periodic Pension Cost (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosurePensionBenefitsComponentsOfNetPeriodicPensionCostDetails</Role>
      <ShortName>Pension Benefits - Components of Net Periodic Pension Cost (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>65</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R66.htm</HtmlFileName>
      <LongName>41003 - Disclosure - Pension Benefits - Recognized in balance sheets (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosurePensionBenefitsRecognizedInBalanceSheetsDetails</Role>
      <ShortName>Pension Benefits - Recognized in balance sheets (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>66</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R67.htm</HtmlFileName>
      <LongName>41004 - Disclosure - Pension Benefits - Actuarial assumptions (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosurePensionBenefitsActuarialAssumptionsDetails</Role>
      <ShortName>Pension Benefits - Actuarial assumptions (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>67</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R68.htm</HtmlFileName>
      <LongName>41005 - Disclosure - Pension Benefits - Estimated future benefit payments (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosurePensionBenefitsEstimatedFutureBenefitPaymentsDetails</Role>
      <ShortName>Pension Benefits - Estimated future benefit payments (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>68</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R69.htm</HtmlFileName>
      <LongName>41006 - Disclosure - Pension Benefits - Additional Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosurePensionBenefitsAdditionalInformationDetails</Role>
      <ShortName>Pension Benefits - Additional Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>69</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R70.htm</HtmlFileName>
      <LongName>41101 - Disclosure - Capital Stock (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureCapitalStockDetails</Role>
      <ShortName>Capital Stock (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.innodata-isogen.com/role/DisclosureCapitalStock</ParentRole>
      <Position>70</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R71.htm</HtmlFileName>
      <LongName>41201 - Disclosure - Stock Options - Weighted Average Fair Values and Assumptions (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureStockOptionsWeightedAverageFairValuesAndAssumptionsDetails</Role>
      <ShortName>Stock Options - Weighted Average Fair Values and Assumptions (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>71</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R72.htm</HtmlFileName>
      <LongName>41202 - Disclosure - Stock Options - Summary of Stock Option Activity (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionActivityDetails</Role>
      <ShortName>Stock Options - Summary of Stock Option Activity (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>72</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R73.htm</HtmlFileName>
      <LongName>41203 - Disclosure - Stock Options - Summary of stock option and Restricted Stock option activity (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionAndRestrictedStockOptionActivityDetails</Role>
      <ShortName>Stock Options - Summary of stock option and Restricted Stock option activity (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>73</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R74.htm</HtmlFileName>
      <LongName>41204 - Disclosure - Stock Options - Additional Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureStockOptionsAdditionalInformationDetails</Role>
      <ShortName>Stock Options - Additional Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>74</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R75.htm</HtmlFileName>
      <LongName>41301 - Disclosure - Comprehensive loss - Reclassifications from accumulated other comprehensive loss (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureComprehensiveLossReclassificationsFromAccumulatedOtherComprehensiveLossDetails</Role>
      <ShortName>Comprehensive loss - Reclassifications from accumulated other comprehensive loss (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>75</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R76.htm</HtmlFileName>
      <LongName>41401 - Disclosure - Segment reporting and concentrations (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsDetails</Role>
      <ShortName>Segment reporting and concentrations (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsTables</ParentRole>
      <Position>76</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R77.htm</HtmlFileName>
      <LongName>41402 - Disclosure - Segment reporting and concentrations - Long-lived assets (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsLongLivedAssetsDetails</Role>
      <ShortName>Segment reporting and concentrations - Long-lived assets (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>77</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R78.htm</HtmlFileName>
      <LongName>41403 - Disclosure - Segment reporting and concentrations - Revenues by geographic region (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsRevenuesByGeographicRegionDetails</Role>
      <ShortName>Segment reporting and concentrations - Revenues by geographic region (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>78</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R79.htm</HtmlFileName>
      <LongName>41404 - Disclosure - Segment reporting and concentrations - Additional information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsAdditionalInformationDetails</Role>
      <ShortName>Segment reporting and concentrations - Additional information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>79</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R80.htm</HtmlFileName>
      <LongName>41501 - Disclosure - Loss per Share (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureLossPerShareDetails</Role>
      <ShortName>Loss per Share (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.innodata-isogen.com/role/DisclosureLossPerShareTables</ParentRole>
      <Position>80</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R81.htm</HtmlFileName>
      <LongName>41502 - Disclosure - Loss per Share - Additional information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureLossPerShareAdditionalInformationDetails</Role>
      <ShortName>Loss per Share - Additional information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>81</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R82.htm</HtmlFileName>
      <LongName>41601 - Disclosure - Derivatives - Additional Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureDerivativesAdditionalInformationDetails</Role>
      <ShortName>Derivatives - Additional Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>82</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R83.htm</HtmlFileName>
      <LongName>41602 - Disclosure - Derivatives - Fair value of derivative instruments (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureDerivativesFairValueOfDerivativeInstrumentsDetails</Role>
      <ShortName>Derivatives - Fair value of derivative instruments (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>83</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R84.htm</HtmlFileName>
      <LongName>41603 - Disclosure - Derivatives - Contracts designated as cash flow hedges (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureDerivativesContractsDesignatedAsCashFlowHedgesDetails</Role>
      <ShortName>Derivatives - Contracts designated as cash flow hedges (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>84</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R85.htm</HtmlFileName>
      <LongName>41701 - Disclosure - Line Of Credit (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.innodata-isogen.com/role/DisclosureLineOfCreditDetails</Role>
      <ShortName>Line Of Credit (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>85</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R86.htm</HtmlFileName>
      <LongName>995410 - Disclosure - Pay vs Performance Disclosure</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://xbrl.sec.gov/ecd/role/PvpDisclosure</Role>
      <ShortName>Pay vs Performance Disclosure</ShortName>
      <MenuCategory>Uncategorized</MenuCategory>
      <Position>86</Position>
    </Report>
    <Report instance="inod-20231231x10k.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R87.htm</HtmlFileName>
      <LongName>995445 - Disclosure - Insider Trading Arrangements</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements</Role>
      <ShortName>Insider Trading Arrangements</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>87</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <InputFiles>
    <File>inod-20231231.xsd</File>
    <File>inod-20231231_cal.xml</File>
    <File>inod-20231231_def.xml</File>
    <File>inod-20231231_lab.xml</File>
    <File>inod-20231231_pre.xml</File>
    <File doctype="10-K" isDefinitelyFs="true" isUsgaap="true" original="inod-20231231x10k.htm">inod-20231231x10k.htm</File>
  </InputFiles>
  <SupplementalFiles/>
  <BaseTaxonomies>
    <BaseTaxonomy items="842">http://fasb.org/us-gaap/2023</BaseTaxonomy>
    <BaseTaxonomy items="36">http://xbrl.sec.gov/dei/2023</BaseTaxonomy>
    <BaseTaxonomy items="4">http://xbrl.sec.gov/ecd/2023</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>110
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "version": "2.2",
 "instance": {
  "inod-20231231x10k.htm": {
   "nsprefix": "inod",
   "nsuri": "http://www.innodata-isogen.com/20231231",
   "dts": {
    "schema": {
     "local": [
      "inod-20231231.xsd"
     ],
     "remote": [
      "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xl-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xlink-2003-12-31.xsd",
      "http://www.xbrl.org/2005/xbrldt-2005.xsd",
      "http://www.xbrl.org/2006/ref-2006-02-27.xsd",
      "http://www.xbrl.org/lrr/arcrole/esma-arcrole-2018-11-21.xsd",
      "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd",
      "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd",
      "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd",
      "https://www.xbrl.org/dtr/type/2022-03-31/types.xsd",
      "https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd",
      "https://xbrl.fasb.org/srt/2023/elts/srt-roles-2023.xsd",
      "https://xbrl.fasb.org/srt/2023/elts/srt-types-2023.xsd",
      "https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd",
      "https://xbrl.fasb.org/us-gaap/2023/elts/us-roles-2023.xsd",
      "https://xbrl.fasb.org/us-gaap/2023/elts/us-types-2023.xsd",
      "https://xbrl.sec.gov/country/2023/country-2023.xsd",
      "https://xbrl.sec.gov/dei/2023/dei-2023.xsd",
      "https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd",
      "https://xbrl.sec.gov/ecd/2023/ecd-sub-2023.xsd",
      "https://xbrl.sec.gov/stpr/2023/stpr-2023.xsd"
     ]
    },
    "calculationLink": {
     "local": [
      "inod-20231231_cal.xml"
     ]
    },
    "definitionLink": {
     "local": [
      "inod-20231231_def.xml"
     ]
    },
    "labelLink": {
     "local": [
      "inod-20231231_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "inod-20231231_pre.xml"
     ]
    },
    "inline": {
     "local": [
      "inod-20231231x10k.htm"
     ]
    }
   },
   "keyStandard": 358,
   "keyCustom": 46,
   "axisStandard": 24,
   "axisCustom": 0,
   "memberStandard": 48,
   "memberCustom": 27,
   "hidden": {
    "total": 20,
    "http://fasb.org/us-gaap/2023": 13,
    "http://xbrl.sec.gov/dei/2023": 5,
    "http://www.innodata-isogen.com/20231231": 2
   },
   "contextCount": 215,
   "entityCount": 1,
   "segmentCount": 78,
   "elementCount": 685,
   "unitCount": 8,
   "baseTaxonomies": {
    "http://fasb.org/us-gaap/2023": 842,
    "http://xbrl.sec.gov/dei/2023": 36,
    "http://xbrl.sec.gov/ecd/2023": 4
   },
   "report": {
    "R1": {
     "role": "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation",
     "longName": "00090 - Document - Document and Entity Information",
     "shortName": "Document and Entity Information",
     "isDefault": "true",
     "groupType": "document",
     "subGroupType": "",
     "menuCat": "Cover",
     "order": "1",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R2": {
     "role": "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets",
     "longName": "00100 - Statement - CONSOLIDATED BALANCE SHEETS",
     "shortName": "CONSOLIDATED BALANCE SHEETS",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "2",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ",
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "unitRef": "Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ",
      "name": "us-gaap:PrepaidExpenseAndOtherAssetsCurrent",
      "unitRef": "Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "unique": true
     }
    },
    "R3": {
     "role": "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheetsParenthetical",
     "longName": "00105 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical)",
     "shortName": "CONSOLIDATED BALANCE SHEETS (Parenthetical)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "parenthetical",
     "menuCat": "Statements",
     "order": "3",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ",
      "name": "us-gaap:PreferredStockSharesAuthorized",
      "unitRef": "Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "us-gaap:PreferredStockSharesAuthorized",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ",
      "name": "us-gaap:PreferredStockSharesOutstanding",
      "unitRef": "Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "us-gaap:PreferredStockSharesOutstanding",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "unique": true
     }
    },
    "R4": {
     "role": "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLoss",
     "longName": "00200 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE LOSS",
     "shortName": "CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE LOSS",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "4",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:Revenues",
      "unitRef": "Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:DirectOperatingCosts",
      "unitRef": "Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "unique": true
     }
    },
    "R5": {
     "role": "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfStockholdersEquity",
     "longName": "00300 - Statement - CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY",
     "shortName": "CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "5",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_pBF4Y-Lg6kCL3PAB9bTWNw",
      "name": "us-gaap:StockholdersEquity",
      "unitRef": "Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_pBF4Y-Lg6kCL3PAB9bTWNw",
      "name": "us-gaap:StockholdersEquity",
      "unitRef": "Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R6": {
     "role": "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows",
     "longName": "00400 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS",
     "shortName": "CONSOLIDATED STATEMENTS OF CASH FLOWS",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "6",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:ProfitLoss",
      "unitRef": "Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:DeferredIncomeTaxesAndTaxCredits",
      "unitRef": "Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "unique": true
     }
    },
    "R7": {
     "role": "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPolicies",
     "longName": "10101 - Disclosure - Description of Business and Summary of Significant Accounting Estimates and Policies",
     "shortName": "Description of Business and Summary of Significant Accounting Estimates and Policies",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "7",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R8": {
     "role": "http://www.innodata-isogen.com/role/DisclosureShortTermInvestmentsOther",
     "longName": "10201 - Disclosure - Short Term Investments - other",
     "shortName": "Short Term Investments - other",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "8",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "inod:ShortTermInvestmentsOthersTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "inod:ShortTermInvestmentsOthersTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R9": {
     "role": "http://www.innodata-isogen.com/role/DisclosureAccountsReceivable",
     "longName": "10301 - Disclosure - Accounts Receivable",
     "shortName": "Accounts Receivable",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "9",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:AccountsAndNontradeReceivableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:AccountsAndNontradeReceivableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R10": {
     "role": "http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipment",
     "longName": "10401 - Disclosure - Property and equipment",
     "shortName": "Property and equipment",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "10",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R11": {
     "role": "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssets",
     "longName": "10501 - Disclosure - Goodwill and Intangible Assets",
     "shortName": "Goodwill and Intangible Assets",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "11",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R12": {
     "role": "http://www.innodata-isogen.com/role/DisclosureIncomeTaxes",
     "longName": "10601 - Disclosure - Income Taxes",
     "shortName": "Income Taxes",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "12",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R13": {
     "role": "http://www.innodata-isogen.com/role/DisclosureLongTermObligations",
     "longName": "10701 - Disclosure - Long-term obligations",
     "shortName": "Long-term obligations",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "13",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "inod:LongTermObligationsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "inod:LongTermObligationsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R14": {
     "role": "http://www.innodata-isogen.com/role/DisclosureCommitmentsAndContingencies",
     "longName": "10801 - Disclosure - Commitments and contingencies",
     "shortName": "Commitments and contingencies",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "14",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R15": {
     "role": "http://www.innodata-isogen.com/role/DisclosureOperatingLeases",
     "longName": "10901 - Disclosure - Operating Leases",
     "shortName": "Operating Leases",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "15",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R16": {
     "role": "http://www.innodata-isogen.com/role/DisclosurePensionBenefits",
     "longName": "11001 - Disclosure - Pension Benefits",
     "shortName": "Pension Benefits",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "16",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R17": {
     "role": "http://www.innodata-isogen.com/role/DisclosureCapitalStock",
     "longName": "11101 - Disclosure - Capital Stock",
     "shortName": "Capital Stock",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "17",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R18": {
     "role": "http://www.innodata-isogen.com/role/DisclosureStockOptions",
     "longName": "11201 - Disclosure - Stock Options",
     "shortName": "Stock Options",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "18",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R19": {
     "role": "http://www.innodata-isogen.com/role/DisclosureComprehensiveLoss",
     "longName": "11301 - Disclosure - Comprehensive loss",
     "shortName": "Comprehensive loss",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "19",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:ComprehensiveIncomeNoteTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:ComprehensiveIncomeNoteTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R20": {
     "role": "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrations",
     "longName": "11401 - Disclosure - Segment reporting and concentrations",
     "shortName": "Segment reporting and concentrations",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "20",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R21": {
     "role": "http://www.innodata-isogen.com/role/DisclosureLossPerShare",
     "longName": "11501 - Disclosure - Loss per Share",
     "shortName": "Loss per Share",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "21",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R22": {
     "role": "http://www.innodata-isogen.com/role/DisclosureDerivatives",
     "longName": "11601 - Disclosure - Derivatives",
     "shortName": "Derivatives",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "22",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R23": {
     "role": "http://www.innodata-isogen.com/role/DisclosureLineOfCredit",
     "longName": "11701 - Disclosure - Line of Credit",
     "shortName": "Line of Credit",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "23",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:DebtDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:DebtDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R24": {
     "role": "http://www.innodata-isogen.com/role/DisclosureSubsequentEvent",
     "longName": "11801 - Disclosure - Subsequent Event",
     "shortName": "Subsequent Event",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "24",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:SubsequentEventsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:SubsequentEventsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R25": {
     "role": "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesPolicies",
     "longName": "20102 - Disclosure - Description of Business and Summary of Significant Accounting Estimates and Policies (Policies)",
     "shortName": "Description of Business and Summary of Significant Accounting Estimates and Policies (Policies)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "policies",
     "menuCat": "Policies",
     "order": "25",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:BusinessCombinationsPolicy",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:BusinessCombinationsPolicy",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R26": {
     "role": "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesTables",
     "longName": "30103 - Disclosure - Description of Business and Summary of Significant Accounting Estimates and Policies (Tables)",
     "shortName": "Description of Business and Summary of Significant Accounting Estimates and Policies (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "26",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R27": {
     "role": "http://www.innodata-isogen.com/role/DisclosureShortTermInvestmentsOtherTables",
     "longName": "30203 - Disclosure - Short Term Investments - other (Tables)",
     "shortName": "Short Term Investments - other (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "27",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "inod:ShortTermInvestmentsOtherReadilyMarketableTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "inod:ShortTermInvestmentsOthersTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "inod:ShortTermInvestmentsOtherReadilyMarketableTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "inod:ShortTermInvestmentsOthersTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R28": {
     "role": "http://www.innodata-isogen.com/role/DisclosureAccountsReceivableTables",
     "longName": "30303 - Disclosure - Accounts Receivable (Tables)",
     "shortName": "Accounts Receivable (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "28",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:AccountsAndNontradeReceivableTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:AccountsAndNontradeReceivableTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R29": {
     "role": "http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentTables",
     "longName": "30403 - Disclosure - Property and equipment (Tables)",
     "shortName": "Property and equipment (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "29",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:PropertyPlantAndEquipmentTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:PropertyPlantAndEquipmentTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R30": {
     "role": "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsTables",
     "longName": "30503 - Disclosure - Goodwill and Intangible Assets (Tables)",
     "shortName": "Goodwill and Intangible Assets (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "30",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:ScheduleOfGoodwillTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:ScheduleOfGoodwillTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R31": {
     "role": "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTables",
     "longName": "30603 - Disclosure - Income Taxes (Tables)",
     "shortName": "Income Taxes (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "31",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R32": {
     "role": "http://www.innodata-isogen.com/role/DisclosureLongTermObligationsTables",
     "longName": "30703 - Disclosure - Long-term obligations (Tables)",
     "shortName": "Long-term obligations (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "32",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "inod:LongTermObligationsDisclosureTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "inod:LongTermObligationsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "inod:LongTermObligationsDisclosureTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "inod:LongTermObligationsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R33": {
     "role": "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesTables",
     "longName": "30903 - Disclosure - Operating Leases (Tables)",
     "shortName": "Operating Leases (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "33",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "inod:ScheduleOfOperatingLeaseExpenseRecognizedInFinancialStatementsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "inod:ScheduleOfOperatingLeaseExpenseRecognizedInFinancialStatementsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R34": {
     "role": "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsTables",
     "longName": "31003 - Disclosure - Pension Benefits (Tables)",
     "shortName": "Pension Benefits (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "34",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:ScheduleOfChangesInAccumulatedPostemploymentBenefitObligationsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:ScheduleOfChangesInAccumulatedPostemploymentBenefitObligationsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R35": {
     "role": "http://www.innodata-isogen.com/role/DisclosureStockOptionsTables",
     "longName": "31203 - Disclosure - Stock Options (Tables)",
     "shortName": "Stock Options (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "35",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R36": {
     "role": "http://www.innodata-isogen.com/role/DisclosureComprehensiveLossTables",
     "longName": "31303 - Disclosure - Comprehensive loss (Tables)",
     "shortName": "Comprehensive loss (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "36",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "us-gaap:ComprehensiveIncomeNoteTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "us-gaap:ComprehensiveIncomeNoteTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R37": {
     "role": "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsTables",
     "longName": "31403 - Disclosure - Segment reporting and concentrations (Tables)",
     "shortName": "Segment reporting and concentrations (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "37",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R38": {
     "role": "http://www.innodata-isogen.com/role/DisclosureLossPerShareTables",
     "longName": "31503 - Disclosure - Loss per Share (Tables)",
     "shortName": "Loss per Share (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "38",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R39": {
     "role": "http://www.innodata-isogen.com/role/DisclosureDerivativesTables",
     "longName": "31603 - Disclosure - Derivatives (Tables)",
     "shortName": "Derivatives (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "39",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R40": {
     "role": "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDetails",
     "longName": "40101 - Disclosure - Description of Business and Summary of Significant Accounting Estimates and Policies (Details)",
     "shortName": "Description of Business and Summary of Significant Accounting Estimates and Policies (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "40",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:NumberOfReportableSegments",
      "unitRef": "Unit_Standard_segment_ZgNiCSukjkyW3Oz99w8UqQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ",
      "name": "us-gaap:CapitalizedContractCostAmortizationPeriod",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "unique": true
     }
    },
    "R41": {
     "role": "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesStockBasedCompensationDetails",
     "longName": "40102 - Disclosure - Description of Business and Summary of Significant Accounting Estimates and Policies - Stock-based compensation (Details)",
     "shortName": "Description of Business and Summary of Significant Accounting Estimates and Policies - Stock-based compensation (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "41",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:StockOptionPlanExpense",
      "unitRef": "Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock",
       "us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:StockOptionPlanExpense",
      "unitRef": "Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock",
       "us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R42": {
     "role": "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDeferredRevenueDetails",
     "longName": "40103 - Disclosure - Description of Business and Summary of Significant Accounting Estimates and Policies - Deferred revenue (Details)",
     "shortName": "Description of Business and Summary of Significant Accounting Estimates and Policies - Deferred revenue (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "42",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA",
      "name": "us-gaap:DeferredRevenue",
      "unitRef": "Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:DeferredRevenueByArrangementDisclosureTextBlock",
       "us-gaap:RevenueFromContractWithCustomerPolicyTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:DeferredRevenuePeriodIncreaseDecrease",
      "unitRef": "Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:DeferredRevenueByArrangementDisclosureTextBlock",
       "us-gaap:RevenueFromContractWithCustomerPolicyTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "unique": true
     }
    },
    "R43": {
     "role": "http://www.innodata-isogen.com/role/DisclosureShortTermInvestmentsOtherDetails",
     "longName": "40201 - Disclosure - Short Term Investments - other (Details)",
     "shortName": "Short Term Investments - other (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "43",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA",
      "name": "us-gaap:MoneyMarketFundsAtCarryingValue",
      "unitRef": "Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "inod:ShortTermInvestmentsOtherReadilyMarketableTableTextBlock",
       "inod:ShortTermInvestmentsOthersTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA",
      "name": "us-gaap:MoneyMarketFundsAtCarryingValue",
      "unitRef": "Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "inod:ShortTermInvestmentsOtherReadilyMarketableTableTextBlock",
       "inod:ShortTermInvestmentsOthersTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R44": {
     "role": "http://www.innodata-isogen.com/role/DisclosureAccountsReceivableDetails",
     "longName": "40301 - Disclosure - Accounts Receivable (Details)",
     "shortName": "Accounts Receivable (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "44",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ",
      "name": "us-gaap:AccountsReceivableGrossCurrent",
      "unitRef": "Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
       "us-gaap:AccountsAndNontradeReceivableTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ",
      "name": "us-gaap:AccountsReceivableGrossCurrent",
      "unitRef": "Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
       "us-gaap:AccountsAndNontradeReceivableTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R45": {
     "role": "http://www.innodata-isogen.com/role/DisclosureAccountsReceivableActivityInAllowanceForCreditLossesDetails",
     "longName": "40302 - Disclosure - Accounts Receivable - Activity in allowance for credit losses (Details)",
     "shortName": "Accounts Receivable - Activity in allowance for credit losses (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "45",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA",
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent",
      "unitRef": "Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
       "us-gaap:AccountsAndNontradeReceivableTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:ProvisionForDoubtfulAccounts",
      "unitRef": "Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock",
       "us-gaap:AccountsAndNontradeReceivableTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "unique": true
     }
    },
    "R46": {
     "role": "http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentPropertyAndEquipmentDetails",
     "longName": "40401 - Disclosure - Property and equipment - Property and equipment (Details)",
     "shortName": "Property and equipment - Property and equipment (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "46",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ",
      "name": "us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization",
      "unitRef": "Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:PropertyPlantAndEquipmentTextBlock",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ",
      "name": "us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization",
      "unitRef": "Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:PropertyPlantAndEquipmentTextBlock",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "unique": true
     }
    },
    "R47": {
     "role": "http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentAdditionalInformationDetails",
     "longName": "40402 - Disclosure - Property and equipment - Additional Information (Details)",
     "shortName": "Property and equipment - Additional Information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "47",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:DepreciationDepletionAndAmortization",
      "unitRef": "Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_PropertyPlantAndEquipmentMember_l3aWZIWm_0SZhUxTlhaGUA",
      "name": "us-gaap:DepreciationDepletionAndAmortization",
      "unitRef": "Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "us-gaap:DepreciationDepletionAndAmortization",
       "p",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "unique": true
     }
    },
    "R48": {
     "role": "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsChangesInCarryingAmountOfGoodwillDetails",
     "longName": "40501 - Disclosure - Goodwill and Intangible Assets - Changes in carrying amount of goodwill (Details)",
     "shortName": "Goodwill and Intangible Assets - Changes in carrying amount of goodwill (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "48",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA",
      "name": "us-gaap:Goodwill",
      "unitRef": "Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:GoodwillForeignCurrencyTranslationGainLoss",
      "unitRef": "Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfGoodwillTextBlock",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "unique": true
     }
    },
    "R49": {
     "role": "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsDetails",
     "longName": "40502 - Disclosure - Goodwill and Intangible Assets (Details)",
     "shortName": "Goodwill and Intangible Assets (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "49",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:GoodwillImpairmentLoss",
      "unitRef": "Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "p",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:GoodwillImpairmentLoss",
      "unitRef": "Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "p",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R50": {
     "role": "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails",
     "longName": "40503 - Disclosure - Goodwill and Intangible Assets - Acquisition-related intangible assets (Details)",
     "shortName": "Goodwill and Intangible Assets - Acquisition-related intangible assets (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "50",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ",
      "name": "us-gaap:FiniteLivedIntangibleAssetsGross",
      "unitRef": "Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "b",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ",
      "name": "us-gaap:FiniteLivedIntangibleAssetsGross",
      "unitRef": "Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "b",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R51": {
     "role": "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedAmortizationExpenseDetails",
     "longName": "40504 - Disclosure - Goodwill and Intangible Assets - Estimated amortization expense (Details)",
     "shortName": "Goodwill and Intangible Assets - Estimated amortization expense (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "51",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ",
      "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
      "unitRef": "Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ",
      "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
      "unitRef": "Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R52": {
     "role": "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesComponentsOfProvisionForIncomeTaxesDetails",
     "longName": "40601 - Disclosure - Income Taxes - Components of provision for income taxes (Details)",
     "shortName": "Income Taxes - Components of provision for income taxes (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "52",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:CurrentForeignTaxExpenseBenefit",
      "unitRef": "Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:CurrentForeignTaxExpenseBenefit",
      "unitRef": "Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R53": {
     "role": "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails",
     "longName": "40602 - Disclosure - Income Taxes - Tax rate reconciliation (Details)",
     "shortName": "Income Taxes - Tax rate reconciliation (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "53",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "inod:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRateBenefitExpense",
      "unitRef": "Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "inod:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRateBenefitExpense",
      "unitRef": "Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R54": {
     "role": "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails",
     "longName": "40603 - Disclosure - Income Taxes - Deferred tax assets and liabilities (Details)",
     "shortName": "Income Taxes - Deferred tax assets and liabilities (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "54",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ",
      "name": "us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals",
      "unitRef": "Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ",
      "name": "us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals",
      "unitRef": "Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R55": {
     "role": "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesUnitedStatesAndForeignComponentsOfIncomeLossDetails",
     "longName": "40604 - Disclosure - Income Taxes - United States and foreign components of income (loss) (Details)",
     "shortName": "Income Taxes - United States and foreign components of income (loss) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "55",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic",
      "unitRef": "Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic",
      "unitRef": "Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R56": {
     "role": "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesUnrecognizedTaxBenefitsDetails",
     "longName": "40605 - Disclosure - Income Taxes - Unrecognized tax benefits (Details)",
     "shortName": "Income Taxes - Unrecognized tax benefits (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "56",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA",
      "name": "us-gaap:UnrecognizedTaxBenefits",
      "unitRef": "Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions",
      "unitRef": "Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "unique": true
     }
    },
    "R57": {
     "role": "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDetails",
     "longName": "40606 - Disclosure - Income Taxes (Details)",
     "shortName": "Income Taxes (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "57",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ",
      "name": "us-gaap:DeferredTaxAssetsValuationAllowance",
      "unitRef": "Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount",
      "unitRef": "Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "unique": true
     }
    },
    "R58": {
     "role": "http://www.innodata-isogen.com/role/DisclosureLongTermObligationsDetails",
     "longName": "40701 - Disclosure - Long-term obligations (Details)",
     "shortName": "Long-term obligations (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "58",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ",
      "name": "us-gaap:PostemploymentBenefitsLiabilityCurrentAndNoncurrent",
      "unitRef": "Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "inod:LongTermObligationsDisclosureTableTextBlock",
       "inod:LongTermObligationsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ",
      "name": "us-gaap:PostemploymentBenefitsLiabilityCurrentAndNoncurrent",
      "unitRef": "Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "inod:LongTermObligationsDisclosureTableTextBlock",
       "inod:LongTermObligationsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R59": {
     "role": "http://www.innodata-isogen.com/role/DisclosureCommitmentsAndContingenciesDetails",
     "longName": "40801 - Disclosure - Commitments and contingencies (Details)",
     "shortName": "Commitments and contingencies (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "59",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ",
      "name": "us-gaap:LitigationReserve",
      "unitRef": "Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "p",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ",
      "name": "us-gaap:LitigationReserve",
      "unitRef": "Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "p",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R60": {
     "role": "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesDetails",
     "longName": "40901 - Disclosure - Operating Leases (Details)",
     "shortName": "Operating Leases (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "60",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_srt_RangeAxis_srt_MinimumMember__WjpBOXPAEK2_4FlqeOGLg",
      "name": "inod:PercentageOfRentalEscalations",
      "unitRef": "Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "4",
      "ancestors": [
       "p",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_srt_RangeAxis_srt_MinimumMember__WjpBOXPAEK2_4FlqeOGLg",
      "name": "inod:PercentageOfRentalEscalations",
      "unitRef": "Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "4",
      "ancestors": [
       "p",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R61": {
     "role": "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesFinancialStatementsRelatedToOperatingLeasesDetails",
     "longName": "40902 - Disclosure - Operating Leases - Financial statements related to operating leases (Details)",
     "shortName": "Operating Leases - Financial statements related to operating leases (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "61",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:OperatingLeaseExpense",
      "unitRef": "Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "inod:ScheduleOfOperatingLeaseExpenseRecognizedInFinancialStatementsTableTextBlock",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:OperatingLeaseExpense",
      "unitRef": "Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "inod:ScheduleOfOperatingLeaseExpenseRecognizedInFinancialStatementsTableTextBlock",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R62": {
     "role": "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails",
     "longName": "40903 - Disclosure - Operating Leases - Net present value of the operating lease liability (Details)",
     "shortName": "Operating Leases - Net present value of the operating lease liability (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "62",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
      "unitRef": "Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
      "unitRef": "Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R63": {
     "role": "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesWeightedAverageRemainingLeaseTermsDetails",
     "longName": "40904 - Disclosure - Operating Leases - Weighted average remaining lease terms (Details)",
     "shortName": "Operating Leases - Weighted average remaining lease terms (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "63",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ",
      "name": "us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "inod:ScheduleOfWeightedAverageRemainingLeaseTermsAndDiscountRatesTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ",
      "name": "us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "inod:ScheduleOfWeightedAverageRemainingLeaseTermsAndDiscountRatesTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R64": {
     "role": "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsBenefitObligationsDetails",
     "longName": "41001 - Disclosure - Pension Benefits - Benefit Obligations (Details)",
     "shortName": "Pension Benefits - Benefit Obligations (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "64",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA",
      "name": "us-gaap:DefinedBenefitPlanBenefitObligation",
      "unitRef": "Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfChangesInAccumulatedPostemploymentBenefitObligationsTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2021_LPWzI6J5HECBN2kqx3f4aQ",
      "name": "us-gaap:DefinedBenefitPlanBenefitObligation",
      "unitRef": "Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfChangesInAccumulatedPostemploymentBenefitObligationsTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "unique": true
     }
    },
    "R65": {
     "role": "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsComponentsOfNetPeriodicPensionCostDetails",
     "longName": "41002 - Disclosure - Pension Benefits - Components of Net Periodic Pension Cost (Details)",
     "shortName": "Pension Benefits - Components of Net Periodic Pension Cost (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "65",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:DefinedBenefitPlanServiceCost",
      "unitRef": "Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfChangesInAccumulatedPostemploymentBenefitObligationsTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg",
      "name": "us-gaap:DefinedBenefitPlanRecognizedNetGainLossDueToCurtailments",
      "unitRef": "Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfNetBenefitCostsTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "unique": true
     }
    },
    "R66": {
     "role": "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsRecognizedInBalanceSheetsDetails",
     "longName": "41003 - Disclosure - Pension Benefits - Recognized in balance sheets (Details)",
     "shortName": "Pension Benefits - Recognized in balance sheets (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "66",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ",
      "name": "us-gaap:PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities",
      "unitRef": "Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ",
      "name": "us-gaap:PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities",
      "unitRef": "Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R67": {
     "role": "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsActuarialAssumptionsDetails",
     "longName": "41004 - Disclosure - Pension Benefits - Actuarial assumptions (Details)",
     "shortName": "Pension Benefits - Actuarial assumptions (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "67",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2023_srt_RangeAxis_srt_MinimumMember_YmaTx6N9qEuCsBJuq0OvGw",
      "name": "us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate",
      "unitRef": "Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "4",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAssumptionsUsedTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2023_srt_RangeAxis_srt_MinimumMember_YmaTx6N9qEuCsBJuq0OvGw",
      "name": "us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate",
      "unitRef": "Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "4",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAssumptionsUsedTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R68": {
     "role": "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsEstimatedFutureBenefitPaymentsDetails",
     "longName": "41005 - Disclosure - Pension Benefits - Estimated future benefit payments (Details)",
     "shortName": "Pension Benefits - Estimated future benefit payments (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "68",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ",
      "name": "us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths",
      "unitRef": "Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfExpectedBenefitPaymentsTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ",
      "name": "us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths",
      "unitRef": "Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfExpectedBenefitPaymentsTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R69": {
     "role": "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsAdditionalInformationDetails",
     "longName": "41006 - Disclosure - Pension Benefits - Additional Information (Details)",
     "shortName": "Pension Benefits - Additional Information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "69",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "inod:DefinedContributionPensionPlanPeriodOfServiceToBecomeEligible",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "inod:DefinedContributionPensionPlanPeriodOfServiceToBecomeEligible",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R70": {
     "role": "http://www.innodata-isogen.com/role/DisclosureCapitalStockDetails",
     "longName": "41101 - Disclosure - Capital Stock (Details)",
     "shortName": "Capital Stock (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "70",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ",
      "name": "us-gaap:CommonStockSharesAuthorized",
      "unitRef": "Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "us-gaap:CommonStockSharesAuthorized",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "inod:NumberOfVotesForEachShareOfCommonStock",
      "unitRef": "Unit_Divide_Vote_shares_Tei4HNwEo0userS1-1-JTg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "unique": true
     }
    },
    "R71": {
     "role": "http://www.innodata-isogen.com/role/DisclosureStockOptionsWeightedAverageFairValuesAndAssumptionsDetails",
     "longName": "41201 - Disclosure - Stock Options - Weighted Average Fair Values and Assumptions (Details)",
     "shortName": "Stock Options - Weighted Average Fair Values and Assumptions (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "71",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_LvKkDDcU8U2445y8aZ9qYw",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
      "unitRef": "Unit_Divide_USD_shares_CsCIGYdPT06WFyu9y-PYzg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "2",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_LvKkDDcU8U2445y8aZ9qYw",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
      "unitRef": "Unit_Divide_USD_shares_CsCIGYdPT06WFyu9y-PYzg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "2",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R72": {
     "role": "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionActivityDetails",
     "longName": "41202 - Disclosure - Stock Options - Summary of Stock Option Activity (Details)",
     "shortName": "Stock Options - Summary of Stock Option Activity (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "72",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2022_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_zYDg2tq3n0Oc7toZz_J8Rg",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
      "unitRef": "Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2021_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_B96TBqTFKEaluYlXpr5q7w",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
      "unitRef": "Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "unique": true
     }
    },
    "R73": {
     "role": "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionAndRestrictedStockOptionActivityDetails",
     "longName": "41203 - Disclosure - Stock Options - Summary of stock option and Restricted Stock option activity (Details)",
     "shortName": "Stock Options - Summary of stock option and Restricted Stock option activity (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "73",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_cSZVcu2dYE2kzuJl5WvLEw",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod",
      "unitRef": "Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_cSZVcu2dYE2kzuJl5WvLEw",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod",
      "unitRef": "Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R74": {
     "role": "http://www.innodata-isogen.com/role/DisclosureStockOptionsAdditionalInformationDetails",
     "longName": "41204 - Disclosure - Stock Options - Additional Information (Details)",
     "shortName": "Stock Options - Additional Information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "74",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_lvzdDusiskOtELZ9OgVYdg",
      "name": "inod:NumberOfSharesEligibleToReceiveForEachFullyVestedRsu",
      "unitRef": "Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_lvzdDusiskOtELZ9OgVYdg",
      "name": "inod:NumberOfSharesEligibleToReceiveForEachFullyVestedRsu",
      "unitRef": "Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R75": {
     "role": "http://www.innodata-isogen.com/role/DisclosureComprehensiveLossReclassificationsFromAccumulatedOtherComprehensiveLossDetails",
     "longName": "41301 - Disclosure - Comprehensive loss - Reclassifications from accumulated other comprehensive loss (Details)",
     "shortName": "Comprehensive loss - Reclassifications from accumulated other comprehensive loss (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "75",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA",
      "name": "us-gaap:StockholdersEquity",
      "unitRef": "Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_oZr7_sMmSU617toIq-_dFQ",
      "name": "us-gaap:StockholdersEquity",
      "unitRef": "Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "us-gaap:ComprehensiveIncomeNoteTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "unique": true
     }
    },
    "R76": {
     "role": "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsDetails",
     "longName": "41401 - Disclosure - Segment reporting and concentrations (Details)",
     "shortName": "Segment reporting and concentrations (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "76",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:Revenues",
      "unitRef": "Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_us-gaap_SubsegmentsConsolidationItemsAxis_inod_BeforeIntersegmentEliminationsMember_ZYXKfyc5bUuc_tUGR5jEnQ",
      "name": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
      "unitRef": "Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "unique": true
     }
    },
    "R77": {
     "role": "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsLongLivedAssetsDetails",
     "longName": "41402 - Disclosure - Segment reporting and concentrations - Long-lived assets (Details)",
     "shortName": "Segment reporting and concentrations - Long-lived assets (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "77",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ",
      "name": "us-gaap:NoncurrentAssets",
      "unitRef": "Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ",
      "name": "us-gaap:NoncurrentAssets",
      "unitRef": "Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R78": {
     "role": "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsRevenuesByGeographicRegionDetails",
     "longName": "41403 - Disclosure - Segment reporting and concentrations - Revenues by geographic region (Details)",
     "shortName": "Segment reporting and concentrations - Revenues by geographic region (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "78",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:Revenues",
      "unitRef": "Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_US_iFLtBwWXw0aTJr5phU5fmA",
      "name": "us-gaap:Revenues",
      "unitRef": "Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "unique": true
     }
    },
    "R79": {
     "role": "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsAdditionalInformationDetails",
     "longName": "41404 - Disclosure - Segment reporting and concentrations - Additional information (Details)",
     "shortName": "Segment reporting and concentrations - Additional information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "79",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:NumberOfReportableSegments",
      "unitRef": "Unit_Standard_segment_ZgNiCSukjkyW3Oz99w8UqQ",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "ix:continuation",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_us-gaap_NonUsMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_STsKk-a8DEKY3B2I_1Oy3w",
      "name": "us-gaap:ConcentrationRiskPercentage1",
      "unitRef": "Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg",
      "xsiNil": "false",
      "lang": null,
      "decimals": "2",
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "unique": true
     }
    },
    "R80": {
     "role": "http://www.innodata-isogen.com/role/DisclosureLossPerShareDetails",
     "longName": "41501 - Disclosure - Loss per Share (Details)",
     "shortName": "Loss per Share (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "80",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "inod:NetIncomeLossAttributableToParent1",
      "unitRef": "Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R81": {
     "role": "http://www.innodata-isogen.com/role/DisclosureLossPerShareAdditionalInformationDetails",
     "longName": "41502 - Disclosure - Loss per Share - Additional information (Details)",
     "shortName": "Loss per Share - Additional information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "81",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_us-gaap_EmployeeStockOptionMember_DPBvrTz6kkyaZw2HWXjVtQ",
      "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
      "unitRef": "Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_us-gaap_EmployeeStockOptionMember_DPBvrTz6kkyaZw2HWXjVtQ",
      "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
      "unitRef": "Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "p",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R82": {
     "role": "http://www.innodata-isogen.com/role/DisclosureDerivativesAdditionalInformationDetails",
     "longName": "41601 - Disclosure - Derivatives - Additional Information (Details)",
     "shortName": "Derivatives - Additional Information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "82",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ",
      "name": "us-gaap:DerivativeNotionalAmount",
      "unitRef": "Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "p",
       "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ",
      "name": "us-gaap:DerivativeNotionalAmount",
      "unitRef": "Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "p",
       "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R83": {
     "role": "http://www.innodata-isogen.com/role/DisclosureDerivativesFairValueOfDerivativeInstrumentsDetails",
     "longName": "41602 - Disclosure - Derivatives - Fair value of derivative instruments (Details)",
     "shortName": "Derivatives - Fair value of derivative instruments (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "83",
     "firstAnchor": {
      "contextRef": "As_Of_12_31_2022_us-gaap_BalanceSheetLocationAxis_us-gaap_AccruedLiabilitiesMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_InbCQGc--UKcVGc-vpr2Rg",
      "name": "us-gaap:DerivativeInstrumentsAndHedgesLiabilities",
      "unitRef": "Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock",
       "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_12_31_2022_us-gaap_BalanceSheetLocationAxis_us-gaap_AccruedLiabilitiesMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_InbCQGc--UKcVGc-vpr2Rg",
      "name": "us-gaap:DerivativeInstrumentsAndHedgesLiabilities",
      "unitRef": "Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock",
       "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R84": {
     "role": "http://www.innodata-isogen.com/role/DisclosureDerivativesContractsDesignatedAsCashFlowHedgesDetails",
     "longName": "41603 - Disclosure - Derivatives - Contracts designated as cash flow hedges (Details)",
     "shortName": "Derivatives - Contracts designated as cash flow hedges (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "84",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax",
      "unitRef": "Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax",
      "unitRef": "Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock",
       "ix:continuation",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R85": {
     "role": "http://www.innodata-isogen.com/role/DisclosureLineOfCreditDetails",
     "longName": "41701 - Disclosure - Line Of Credit (Details)",
     "shortName": "Line Of Credit (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "85",
     "firstAnchor": {
      "contextRef": "As_Of_4_4_2023_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_anRnKJhV_EGKUcG18ZpIpg",
      "name": "us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity",
      "unitRef": "Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "p",
       "us-gaap:DebtDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "As_Of_4_4_2023_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_anRnKJhV_EGKUcG18ZpIpg",
      "name": "us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity",
      "unitRef": "Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "p",
       "us-gaap:DebtDisclosureTextBlock",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     }
    },
    "R86": {
     "role": "http://xbrl.sec.gov/ecd/role/PvpDisclosure",
     "longName": "995410 - Disclosure - Pay vs Performance Disclosure",
     "shortName": "Pay vs Performance Disclosure",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Uncategorized",
     "order": "86",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R87": {
     "role": "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements",
     "longName": "995445 - Disclosure - Insider Trading Arrangements",
     "shortName": "Insider Trading Arrangements",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Cover",
     "order": "87",
     "firstAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "ecd:Rule10b51ArrAdoptedFlag",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg",
      "name": "ecd:Rule10b51ArrAdoptedFlag",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "inod-20231231x10k.htm",
      "first": true,
      "unique": true
     }
    }
   },
   "tag": {
    "us-gaap_AccountingPoliciesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountingPoliciesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Description of Business and Summary of Significant Accounting Estimates and Policies"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccountsAndNontradeReceivableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsAndNontradeReceivableTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureAccountsReceivable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts and Nontrade Receivable [Text Block]",
        "terseLabel": "Accounts Receivable",
        "documentation": "The entire disclosure for accounts receivable, contract receivable, receivable held-for-sale, and nontrade receivable."
       }
      }
     },
     "auth_ref": [
      "r315",
      "r323"
     ]
    },
    "us-gaap_AccountsPayableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsPayableCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Payable Current",
        "verboseLabel": "Accounts payable",
        "documentation": "Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r29",
      "r779"
     ]
    },
    "us-gaap_AccountsReceivableAllowanceForCreditLossTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsReceivableAllowanceForCreditLossTableTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureAccountsReceivableTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Receivable, Allowance for Credit Loss [Table Text Block]",
        "terseLabel": "Schedule of activity in allowance for credit losses",
        "documentation": "Tabular disclosure of allowance for credit loss on accounts receivable."
       }
      }
     },
     "auth_ref": [
      "r905"
     ]
    },
    "us-gaap_AccountsReceivableGrossCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsReceivableGrossCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureAccountsReceivableDetails": {
       "parentTag": "us-gaap_AccountsReceivableNetCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureAccountsReceivableDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Receivable, before Allowance for Credit Loss, Current",
        "terseLabel": "Gross Accounts receivable",
        "documentation": "Amount, before allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current."
       }
      }
     },
     "auth_ref": [
      "r218",
      "r316",
      "r317",
      "r757"
     ]
    },
    "us-gaap_AccountsReceivableMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsReceivableMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Receivable [Member]",
        "terseLabel": "Accounts receivable",
        "documentation": "Due from customers or clients for goods or services that have been delivered or sold."
       }
      }
     },
     "auth_ref": [
      "r739"
     ]
    },
    "us-gaap_AccountsReceivableNetCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsReceivableNetCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 3.0
      },
      "http://www.innodata-isogen.com/role/DisclosureAccountsReceivableDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureAccountsReceivableDetails",
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Receivable, after Allowance for Credit Loss, Current",
        "totalLabel": "Accounts receivable, net",
        "verboseLabel": "Accounts receivable, net of allowance for doubtful accounts",
        "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current."
       }
      }
     },
     "auth_ref": [
      "r316",
      "r317"
     ]
    },
    "us-gaap_AccruedLiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccruedLiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued Liabilities Current",
        "verboseLabel": "Accrued expenses and other",
        "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r33"
     ]
    },
    "us-gaap_AccruedLiabilitiesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccruedLiabilitiesMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDerivativesFairValueOfDerivativeInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued Liabilities [Member]",
        "terseLabel": "Accrued expenses and other",
        "documentation": "This item represents obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered."
       }
      }
     },
     "auth_ref": [
      "r33"
     ]
    },
    "us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccumulatedDefinedBenefitPlansAdjustmentMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureComprehensiveLossReclassificationsFromAccumulatedOtherComprehensiveLossDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accumulated Defined Benefit Plans Adjustment Attributable to Parent [Member]",
        "terseLabel": "Pension Liability Adjustment",
        "documentation": "Accumulated other comprehensive (income) loss related to defined benefit plans attributable to the parent."
       }
      }
     },
     "auth_ref": [
      "r6",
      "r20",
      "r42",
      "r887",
      "r888",
      "r889"
     ]
    },
    "us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccumulatedGainLossNetCashFlowHedgeParentMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureComprehensiveLossReclassificationsFromAccumulatedOtherComprehensiveLossDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accumulated Gain (Loss), Net, Cash Flow Hedge, Parent [Member]",
        "terseLabel": "Fair Value of Derivatives",
        "documentation": "Accumulated other comprehensive income (loss) from gain (loss) of derivative instrument designated and qualifying as cash flow hedge included in assessment of hedge effectiveness, attributable to parent."
       }
      }
     },
     "auth_ref": [
      "r224",
      "r232",
      "r233",
      "r530",
      "r759",
      "r887"
     ]
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccumulatedOtherComprehensiveIncomeLossLineItems",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureComprehensiveLossReclassificationsFromAccumulatedOtherComprehensiveLossDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accumulated Other Comprehensive Income (Loss) [Line Items]",
        "terseLabel": "Comprehensive loss",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r231",
      "r232",
      "r556",
      "r558",
      "r559",
      "r560",
      "r561",
      "r562"
     ]
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquityBeforeTreasuryStock",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accumulated Other Comprehensive Income (Loss), Net Of Tax",
        "verboseLabel": "Accumulated other comprehensive loss",
        "documentation": "Amount, after tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source."
       }
      }
     },
     "auth_ref": [
      "r41",
      "r42",
      "r137",
      "r219",
      "r612",
      "r644",
      "r645"
     ]
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccumulatedOtherComprehensiveIncomeLossTable",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureComprehensiveLossReclassificationsFromAccumulatedOtherComprehensiveLossDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accumulated Other Comprehensive Income (Loss) [Table]",
        "documentation": "Disclosure of information about components of accumulated other comprehensive income (loss)."
       }
      }
     },
     "auth_ref": [
      "r231",
      "r232",
      "r556",
      "r558",
      "r559",
      "r560",
      "r561",
      "r562"
     ]
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccumulatedOtherComprehensiveIncomeMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureComprehensiveLossReclassificationsFromAccumulatedOtherComprehensiveLossDetails",
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accumulated Other Comprehensive Loss [Member]",
        "terseLabel": "Accumulated Other Comprehensive Loss",
        "documentation": "Accumulated increase (decrease) in equity from transactions and other events and circumstances from non-owner sources, attributable to the parent. Excludes net income (loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners."
       }
      }
     },
     "auth_ref": [
      "r3",
      "r20",
      "r42",
      "r539",
      "r542",
      "r574",
      "r640",
      "r641",
      "r887",
      "r888",
      "r889",
      "r898",
      "r899",
      "r900"
     ]
    },
    "us-gaap_AccumulatedTranslationAdjustmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccumulatedTranslationAdjustmentMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureComprehensiveLossReclassificationsFromAccumulatedOtherComprehensiveLossDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accumulated Foreign Currency Adjustment Attributable to Parent [Member]",
        "terseLabel": "Foreign Currency Translation Adjustment",
        "documentation": "Accumulated other comprehensive income (loss) resulting from foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature, attributable to the parent."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r20",
      "r42",
      "r232",
      "r233",
      "r558",
      "r559",
      "r560",
      "r561",
      "r562",
      "r887"
     ]
    },
    "inod_AcquiredIntangibleAssetsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "AcquiredIntangibleAssetsMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails",
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This member stands for acquired intangible assets.",
        "label": "Acquired Intangible Assets [Member]",
        "terseLabel": "Acquired Intangible Assets"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_Additional402vDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "Additional402vDisclosureTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional 402(v) Disclosure [Text Block]",
        "terseLabel": "Additional 402(v) Disclosure"
       }
      }
     },
     "auth_ref": [
      "r831"
     ]
    },
    "us-gaap_AdditionalPaidInCapital": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdditionalPaidInCapital",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquityBeforeTreasuryStock",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional Paid In Capital",
        "terseLabel": "Additional paid-in capital",
        "documentation": "Amount of excess of issue price over par or stated value of stock and from other transaction involving stock or stockholder. Includes, but is not limited to, additional paid-in capital (APIC) for common and preferred stock."
       }
      }
     },
     "auth_ref": [
      "r131",
      "r779",
      "r996"
     ]
    },
    "us-gaap_AdditionalPaidInCapitalMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdditionalPaidInCapitalMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional Paid-in Capital [Member]",
        "terseLabel": "Additional Paid-in Capital",
        "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders."
       }
      }
     },
     "auth_ref": [
      "r484",
      "r485",
      "r486",
      "r659",
      "r898",
      "r899",
      "r900",
      "r972",
      "r997"
     ]
    },
    "ecd_AdjToCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AdjToCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustment to Compensation Amount",
        "terseLabel": "Adjustment to Compensation, Amount"
       }
      }
     },
     "auth_ref": [
      "r837"
     ]
    },
    "ecd_AdjToCompAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AdjToCompAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustment to Compensation [Axis]",
        "terseLabel": "Adjustment to Compensation:"
       }
      }
     },
     "auth_ref": [
      "r837"
     ]
    },
    "ecd_AdjToNonPeoNeoCompFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AdjToNonPeoNeoCompFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustment to Non-PEO NEO Compensation Footnote [Text Block]",
        "terseLabel": "Adjustment to Non-PEO NEO Compensation Footnote"
       }
      }
     },
     "auth_ref": [
      "r837"
     ]
    },
    "ecd_AdjToPeoCompFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AdjToPeoCompFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustment To PEO Compensation, Footnote [Text Block]",
        "terseLabel": "Adjustment To PEO Compensation, Footnote"
       }
      }
     },
     "auth_ref": [
      "r837"
     ]
    },
    "us-gaap_AdjustmentsToAdditionalPaidInCapitalOther": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdjustmentsToAdditionalPaidInCapitalOther",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustments to Additional Paid in Capital, Other",
        "terseLabel": "Redemption of non-controlling interest",
        "documentation": "Amount of other increase (decrease) in additional paid in capital (APIC)."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustments to Additional Paid in Capital, Share-based Compensation, Requisite Service Period Recognition",
        "terseLabel": "Stock-based compensation",
        "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r92",
      "r93",
      "r448"
     ]
    },
    "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustments To Reconcile Net Income Loss To Cash Provided By Used In Operating Activities [Abstract]",
        "terseLabel": "Adjustments to reconcile consolidated net loss to net cash provided by operating activities:"
       }
      }
     },
     "auth_ref": []
    },
    "inod_AfterIntersegmentEliminationsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "AfterIntersegmentEliminationsMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "It represents information pertaining to after elimination of any inter-segment profits segment.",
        "label": "After Intersegment Eliminations [Member]",
        "terseLabel": "After intersegment eliminations"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_AggtErrCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AggtErrCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate Erroneous Compensation Amount",
        "terseLabel": "Aggregate Erroneous Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r801",
      "r813",
      "r823",
      "r849"
     ]
    },
    "ecd_AggtErrCompNotYetDeterminedTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AggtErrCompNotYetDeterminedTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate Erroneous Compensation Not Yet Determined [Text Block]",
        "terseLabel": "Aggregate Erroneous Compensation Not Yet Determined"
       }
      }
     },
     "auth_ref": [
      "r804",
      "r816",
      "r826",
      "r852"
     ]
    },
    "inod_AgilityMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "AgilityMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "It represents information pertaining to Agility segment.",
        "label": "Agility [Member]",
        "terseLabel": "Agility"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_AllAdjToCompMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AllAdjToCompMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "All Adjustments to Compensation [Member]",
        "terseLabel": "All Adjustments to Compensation"
       }
      }
     },
     "auth_ref": [
      "r837"
     ]
    },
    "ecd_AllExecutiveCategoriesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AllExecutiveCategoriesMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "All Executive Categories [Member]",
        "terseLabel": "All Executive Categories"
       }
      }
     },
     "auth_ref": [
      "r844"
     ]
    },
    "ecd_AllIndividualsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AllIndividualsMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure",
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure",
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements",
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "All Individuals [Member]",
        "terseLabel": "All Individuals"
       }
      }
     },
     "auth_ref": [
      "r808",
      "r817",
      "r827",
      "r844",
      "r853",
      "r857",
      "r865"
     ]
    },
    "ecd_AllTradingArrangementsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AllTradingArrangementsMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "All Trading Arrangements [Member]",
        "terseLabel": "All Trading Arrangements"
       }
      }
     },
     "auth_ref": [
      "r863"
     ]
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AllowanceForDoubtfulAccountsReceivableCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureAccountsReceivableDetails": {
       "parentTag": "us-gaap_AccountsReceivableNetCurrent",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureAccountsReceivableActivityInAllowanceForCreditLossesDetails",
      "http://www.innodata-isogen.com/role/DisclosureAccountsReceivableDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Receivable, Allowance for Credit Loss, Current",
        "negatedLabel": "Allowance for doubtful accounts",
        "periodEndLabel": "Balance at December 31, 2023",
        "periodStartLabel": "Balance at January 1, 2023",
        "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current."
       }
      }
     },
     "auth_ref": [
      "r220",
      "r320",
      "r326"
     ]
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AllowanceForDoubtfulAccountsReceivableWriteOffs",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureAccountsReceivableActivityInAllowanceForCreditLossesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Receivable, Allowance for Credit Loss, Writeoff",
        "negatedLabel": "Write-offs against allowance",
        "documentation": "Amount of direct write-downs of accounts receivable charged against the allowance."
       }
      }
     },
     "auth_ref": [
      "r328"
     ]
    },
    "dei_AmendmentFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AmendmentFlag",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amendment Flag",
        "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AmortizationOfIntangibleAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AmortizationOfIntangibleAssets",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amortization of Intangible Assets",
        "verboseLabel": "Amortization expense",
        "documentation": "The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method."
       }
      }
     },
     "auth_ref": [
      "r11",
      "r64",
      "r68"
     ]
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLossPerShareAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Antidilutive Securities Excluded From Computation Of Earnings Per Share, Amount",
        "verboseLabel": "Computation of diluted loss per share",
        "documentation": "Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented."
       }
      }
     },
     "auth_ref": [
      "r275"
     ]
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLossPerShareAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Antidilutive Securities Excluded From Computation Of Earnings Per Share, By Antidilutive Securities [Axis]",
        "documentation": "Information by type of antidilutive security."
       }
      }
     },
     "auth_ref": [
      "r49"
     ]
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLossPerShareAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]",
        "terseLabel": "Antidilutive securities excluded from computation of earnings per share",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AntidilutiveSecuritiesNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AntidilutiveSecuritiesNameDomain",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLossPerShareAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Antidilutive Securities, Name [Domain]",
        "documentation": "Incremental common shares attributable to securities that were not included in diluted earnings per share (EPS) because to do so would increase EPS amounts or decrease loss per share amounts for the period presented."
       }
      }
     },
     "auth_ref": [
      "r49"
     ]
    },
    "srt_AsiaMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "AsiaMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Asia [Member]",
        "terseLabel": "Asia"
       }
      }
     },
     "auth_ref": [
      "r999",
      "r1000",
      "r1001",
      "r1002"
     ]
    },
    "us-gaap_Assets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Assets",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsDetails",
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets, Total",
        "terseLabel": "Total assets",
        "totalLabel": "Total assets",
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events."
       }
      }
     },
     "auth_ref": [
      "r180",
      "r214",
      "r249",
      "r285",
      "r300",
      "r306",
      "r322",
      "r354",
      "r355",
      "r357",
      "r358",
      "r359",
      "r361",
      "r363",
      "r365",
      "r366",
      "r526",
      "r531",
      "r549",
      "r607",
      "r687",
      "r779",
      "r791",
      "r926",
      "r927",
      "r983"
     ]
    },
    "us-gaap_AssetsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetsAbstract",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets [Abstract]",
        "verboseLabel": "ASSETS"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetsCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets, Current, Total",
        "totalLabel": "Total current assets",
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events."
       }
      }
     },
     "auth_ref": [
      "r208",
      "r221",
      "r249",
      "r322",
      "r354",
      "r355",
      "r357",
      "r358",
      "r359",
      "r361",
      "r363",
      "r365",
      "r366",
      "r526",
      "r531",
      "r549",
      "r779",
      "r926",
      "r927",
      "r983"
     ]
    },
    "us-gaap_AssetsCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetsCurrentAbstract",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets, Current [Abstract]",
        "verboseLabel": "Current assets:"
       }
      }
     },
     "auth_ref": []
    },
    "dei_AuditorFirmId": {
     "xbrltype": "nonemptySequenceNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AuditorFirmId",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Firm ID",
        "documentation": "PCAOB issued Audit Firm Identifier"
       }
      }
     },
     "auth_ref": [
      "r795",
      "r796",
      "r809"
     ]
    },
    "dei_AuditorLocation": {
     "xbrltype": "internationalNameItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AuditorLocation",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Location"
       }
      }
     },
     "auth_ref": [
      "r795",
      "r796",
      "r809"
     ]
    },
    "dei_AuditorName": {
     "xbrltype": "internationalNameItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AuditorName",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Name"
       }
      }
     },
     "auth_ref": [
      "r795",
      "r796",
      "r809"
     ]
    },
    "ecd_AwardExrcPrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardExrcPrice",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Exercise Price",
        "terseLabel": "Exercise Price"
       }
      }
     },
     "auth_ref": [
      "r860"
     ]
    },
    "ecd_AwardGrantDateFairValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardGrantDateFairValue",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Grant Date Fair Value",
        "terseLabel": "Fair Value as of Grant Date"
       }
      }
     },
     "auth_ref": [
      "r861"
     ]
    },
    "ecd_AwardTmgDiscLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardTmgDiscLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing Disclosures [Line Items]",
        "terseLabel": "Award Timing Disclosures"
       }
      }
     },
     "auth_ref": [
      "r856"
     ]
    },
    "ecd_AwardTmgHowMnpiCnsdrdTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardTmgHowMnpiCnsdrdTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing, How MNPI Considered [Text Block]",
        "terseLabel": "Award Timing, How MNPI Considered"
       }
      }
     },
     "auth_ref": [
      "r856"
     ]
    },
    "ecd_AwardTmgMethodTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardTmgMethodTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing Method [Text Block]",
        "terseLabel": "Award Timing Method"
       }
      }
     },
     "auth_ref": [
      "r856"
     ]
    },
    "ecd_AwardTmgMnpiCnsdrdFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardTmgMnpiCnsdrdFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing MNPI Considered [Flag]",
        "terseLabel": "Award Timing MNPI Considered"
       }
      }
     },
     "auth_ref": [
      "r856"
     ]
    },
    "ecd_AwardTmgMnpiDiscTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardTmgMnpiDiscTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing MNPI Disclosure [Text Block]",
        "terseLabel": "Award Timing MNPI Disclosure"
       }
      }
     },
     "auth_ref": [
      "r856"
     ]
    },
    "ecd_AwardTmgPredtrmndFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardTmgPredtrmndFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing Predetermined [Flag]",
        "terseLabel": "Award Timing Predetermined"
       }
      }
     },
     "auth_ref": [
      "r856"
     ]
    },
    "us-gaap_AwardTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AwardTypeAxis",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAdditionalInformationDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionAndRestrictedStockOptionActivityDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsTables",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsWeightedAverageFairValuesAndAssumptionsDetails",
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Type [Axis]",
        "terseLabel": "Award Type",
        "documentation": "Information by type of award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r451",
      "r452",
      "r453",
      "r455",
      "r456",
      "r457",
      "r458",
      "r459",
      "r460",
      "r461",
      "r462",
      "r463",
      "r464",
      "r465",
      "r466",
      "r467",
      "r468",
      "r469",
      "r470",
      "r471",
      "r472",
      "r475",
      "r476",
      "r477",
      "r478",
      "r479"
     ]
    },
    "ecd_AwardUndrlygSecuritiesAmt": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardUndrlygSecuritiesAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Underlying Securities Amount",
        "terseLabel": "Underlying Securities"
       }
      }
     },
     "auth_ref": [
      "r859"
     ]
    },
    "ecd_AwardsCloseToMnpiDiscIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardsCloseToMnpiDiscIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Awards Close in Time to MNPI Disclosures, Individual Name",
        "terseLabel": "Name"
       }
      }
     },
     "auth_ref": [
      "r858"
     ]
    },
    "ecd_AwardsCloseToMnpiDiscTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardsCloseToMnpiDiscTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Awards Close in Time to MNPI Disclosures [Table]",
        "terseLabel": "Awards Close in Time to MNPI Disclosures"
       }
      }
     },
     "auth_ref": [
      "r857"
     ]
    },
    "ecd_AwardsCloseToMnpiDiscTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "AwardsCloseToMnpiDiscTableTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Awards Close in Time to MNPI Disclosures [Table Text Block]",
        "terseLabel": "Awards Close in Time to MNPI Disclosures, Table"
       }
      }
     },
     "auth_ref": [
      "r857"
     ]
    },
    "inod_AwardsGrantedOnOrAfterApril112022Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "AwardsGrantedOnOrAfterApril112022Member",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to awards granted on or after April 11, 2022.",
        "label": "Awards Granted On or After April 11, 2022 [Member]",
        "terseLabel": "Awards granted on or after April 11, 2022"
       }
      }
     },
     "auth_ref": []
    },
    "inod_AwardsGrantedPriorToApril112022Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "AwardsGrantedPriorToApril112022Member",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to awards granted prior to April 11, 2022.",
        "label": "Awards Granted Prior to April 11, 2022 [Member]",
        "terseLabel": "Awards granted prior to April 11, 2022"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BalanceSheetLocationAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BalanceSheetLocationAxis",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDerivativesFairValueOfDerivativeInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Balance Sheet Location [Axis]",
        "documentation": "Information by location on balance sheet (statement of financial position)."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BalanceSheetLocationDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BalanceSheetLocationDomain",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDerivativesFairValueOfDerivativeInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Balance Sheet Location [Domain]",
        "documentation": "Location in the balance sheet (statement of financial position)."
       }
      }
     },
     "auth_ref": [
      "r108",
      "r112"
     ]
    },
    "inod_BeforeIntersegmentEliminationsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "BeforeIntersegmentEliminationsMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "It represents information pertaining to before elimination of any inter-segment profits segment.",
        "label": "Before Intersegment Eliminations [Member]",
        "terseLabel": "Before intersegment eliminations"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Prepaid Expense and Other Assets",
        "terseLabel": "Prepaid expenses and other current assets on contract acquisition costs",
        "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer, acquired at the acquisition date."
       }
      }
     },
     "auth_ref": [
      "r97"
     ]
    },
    "us-gaap_BusinessCombinationsPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessCombinationsPolicy",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combinations Policy [Policy Text Block]",
        "terseLabel": "Description of Business",
        "documentation": "Disclosure of accounting policy for completed business combinations (purchase method, acquisition method or combination of entities under common control). This accounting policy may include a general discussion of the purchase method or acquisition method of accounting (including for example, the treatment accorded contingent consideration, the identification of assets and liabilities, the purchase price allocation process, how the fair values of acquired assets and liabilities are determined) and the entity's specific application thereof. An entity that acquires another entity in a leveraged buyout transaction generally discloses the accounting policy followed by the acquiring entity in determining the basis used to value its interest in the acquired entity, and the rationale for that accounting policy."
       }
      }
     },
     "auth_ref": [
      "r96"
     ]
    },
    "country_CA": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2023",
     "localname": "CA",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsLongLivedAssetsDetails",
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsRevenuesByGeographicRegionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "CANADA",
        "terseLabel": "Canada"
       }
      }
     },
     "auth_ref": []
    },
    "inod_CanadianSubsidiariesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "CanadianSubsidiariesMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information of Canadian subsidiaries.",
        "label": "Canadian Subsidiaries [Member]",
        "terseLabel": "Canadian subsidiaries"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CapitalizedContractCostAmortizationPeriod": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CapitalizedContractCostAmortizationPeriod",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Capitalized Contract Cost, Amortization Period",
        "terseLabel": "Amortization period",
        "documentation": "Amortization period of cost capitalized in obtaining or fulfilling contract with customer, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r878"
     ]
    },
    "inod_CapitalizedSoftwareDevelopmentCostMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "CapitalizedSoftwareDevelopmentCostMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Collection of computer programs and related data that provide instructions to a computer cost.",
        "label": "Capitalized Software Development Cost [Member]",
        "terseLabel": "Capitalized Developed Software"
       }
      }
     },
     "auth_ref": []
    },
    "inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "CapitalizedSoftwareDevelopmentCostWorkInProgressMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Collection of computer programs and related data that provide instructions to a computer, for example, but not limited to, application program,",
        "label": "Capitalized Software Development Cost - Work in Progress [Member]",
        "terseLabel": "Capitalized Developed Software - in Progress"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CashAndCashEquivalentsAtCarryingValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashAndCashEquivalentsAtCarryingValue",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDetails",
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash and Cash Equivalents, at Carrying Value, Total",
        "verboseLabel": "Cash and cash equivalents",
        "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation."
       }
      }
     },
     "auth_ref": [
      "r46",
      "r210",
      "r756"
     ]
    },
    "us-gaap_CashAndCashEquivalentsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashAndCashEquivalentsPolicyTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash and Cash Equivalents, Policy [Policy Text Block]",
        "terseLabel": "Cash Equivalents",
        "documentation": "Disclosure of accounting policy for cash and cash equivalents, including the policy for determining which items are treated as cash equivalents. Other information that may be disclosed includes (1) the nature of any restrictions on the entity's use of its cash and cash equivalents, (2) whether the entity's cash and cash equivalents are insured or expose the entity to credit risk, (3) the classification of any negative balance accounts (overdrafts), and (4) the carrying basis of cash equivalents (for example, at cost) and whether the carrying amount of cash equivalents approximates fair value."
       }
      }
     },
     "auth_ref": [
      "r47"
     ]
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents",
        "periodEndLabel": "Cash and cash equivalents, end of year",
        "periodStartLabel": "Cash and cash equivalents, beginning of year",
        "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates."
       }
      }
     },
     "auth_ref": [
      "r46",
      "r146",
      "r246"
     ]
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect",
        "totalLabel": "Net increase (decrease) in cash and cash equivalents",
        "documentation": "Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates."
       }
      }
     },
     "auth_ref": [
      "r2",
      "r146"
     ]
    },
    "us-gaap_CertificatesOfDepositAtCarryingValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CertificatesOfDepositAtCarryingValue",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureShortTermInvestmentsOtherDetails": {
       "parentTag": "us-gaap_OtherShortTermInvestments",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureShortTermInvestmentsOtherDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Certificates of Deposit, at Carrying Value",
        "terseLabel": "Certificates of deposit",
        "documentation": "A savings certificate entitling the Entity (that is, bearer) to receive interest at an established maturity date, based upon a fixed interest rate. A certificate of deposit may be issued in any denomination. Certificates of deposit are generally issued by commercial banks and, therefore, insured by the FDIC (up to the prescribed limit). Certificates of deposit generally restrict holders from withdrawing funds on demand without the incurrence of penalties. Generally, only certificates of deposit with original maturities of three months or less qualify as cash equivalents. Original maturity means original maturity to the entity holding the investment. As a related example, both a three-month US Treasury bill and a three-year Treasury note purchased three months from maturity qualify as cash equivalents. However, a Treasury note purchased three-years ago does not become a cash equivalent when its remaining maturity is three months."
       }
      }
     },
     "auth_ref": [
      "r882"
     ]
    },
    "ecd_ChangedPeerGroupFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ChangedPeerGroupFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Changed Peer Group, Footnote [Text Block]",
        "terseLabel": "Changed Peer Group, Footnote"
       }
      }
     },
     "auth_ref": [
      "r835"
     ]
    },
    "dei_CityAreaCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CityAreaCode",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "City Area Code",
        "documentation": "Area code of city"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ClassOfStockLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ClassOfStockLineItems",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureCapitalStockDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Class of Stock [Line Items]",
        "terseLabel": "Capital Stock",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r215",
      "r216",
      "r217",
      "r280",
      "r379",
      "r380",
      "r381",
      "r383",
      "r386",
      "r391",
      "r393",
      "r652",
      "r653",
      "r654",
      "r655",
      "r767",
      "r872",
      "r894"
     ]
    },
    "inod_ClientMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "ClientMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "It represents the member of client.",
        "label": "Client [Member]",
        "terseLabel": "Customer"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_CoSelectedMeasureAmt": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "CoSelectedMeasureAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Company Selected Measure Amount",
        "terseLabel": "Company Selected Measure Amount"
       }
      }
     },
     "auth_ref": [
      "r836"
     ]
    },
    "ecd_CoSelectedMeasureName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "CoSelectedMeasureName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Company Selected Measure Name",
        "terseLabel": "Company Selected Measure Name"
       }
      }
     },
     "auth_ref": [
      "r836"
     ]
    },
    "us-gaap_CommitmentsAndContingencies": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommitmentsAndContingencies",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Commitments and Contingencies.",
        "verboseLabel": "Commitments and contingencies",
        "documentation": "Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur."
       }
      }
     },
     "auth_ref": [
      "r35",
      "r122",
      "r609",
      "r674"
     ]
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommitmentsAndContingenciesDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Commitments and contingencies"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommitmentsAndContingenciesDisclosureTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureCommitmentsAndContingencies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Commitments and Contingencies Disclosure [Text Block]",
        "terseLabel": "Commitments and Contingencies",
        "documentation": "The entire disclosure for commitments and contingencies."
       }
      }
     },
     "auth_ref": [
      "r159",
      "r348",
      "r349",
      "r740",
      "r923"
     ]
    },
    "us-gaap_CommonStockCapitalSharesReservedForFutureIssuance": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockCapitalSharesReservedForFutureIssuance",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureCapitalStockDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock, Capital Shares Reserved for Future Issuance",
        "verboseLabel": "Common stock reserved available for future issuance",
        "documentation": "Aggregate number of common shares reserved for future issuance."
       }
      }
     },
     "auth_ref": [
      "r36"
     ]
    },
    "us-gaap_CommonStockDividendsPerShareDeclared": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockDividendsPerShareDeclared",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureCapitalStockDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock, Dividends, Per Share, Declared",
        "terseLabel": "Dividends declared (in dollars per share)",
        "documentation": "Aggregate dividends declared during the period for each share of common stock outstanding."
       }
      }
     },
     "auth_ref": [
      "r164"
     ]
    },
    "us-gaap_CommonStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock [Member]",
        "terseLabel": "Common Stock",
        "documentation": "Stock that is subordinate to all other stock of the issuer."
       }
      }
     },
     "auth_ref": [
      "r781",
      "r782",
      "r783",
      "r785",
      "r786",
      "r787",
      "r788",
      "r898",
      "r899",
      "r972",
      "r994",
      "r997"
     ]
    },
    "us-gaap_CommonStockParOrStatedValuePerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockParOrStatedValuePerShare",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock Par Or Stated Value Per Share",
        "verboseLabel": "Common stock, par value (in dollars per share)",
        "documentation": "Face amount or stated value per share of common stock."
       }
      }
     },
     "auth_ref": [
      "r130"
     ]
    },
    "us-gaap_CommonStockSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockSharesAuthorized",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureCapitalStockDetails",
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock, Shares Authorized",
        "terseLabel": "Common stock, shares authorized",
        "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws."
       }
      }
     },
     "auth_ref": [
      "r130",
      "r675"
     ]
    },
    "us-gaap_CommonStockSharesIssued": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockSharesIssued",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock Shares Issued",
        "terseLabel": "Common stock, shares issued",
        "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury."
       }
      }
     },
     "auth_ref": [
      "r130"
     ]
    },
    "us-gaap_CommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockSharesOutstanding",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock, Shares, Outstanding",
        "verboseLabel": "Common stock, shares outstanding",
        "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation."
       }
      }
     },
     "auth_ref": [
      "r21",
      "r130",
      "r675",
      "r693",
      "r997",
      "r998"
     ]
    },
    "us-gaap_CommonStockValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockValue",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquityBeforeTreasuryStock",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock Value",
        "terseLabel": "Common stock, $.01 par value; 75,000,000 shares authorized; 31,937,000 shares issued and 28,753,000 outstanding at December 31, 2023 and 30,589,000 shares issued and 27,405,000 outstanding at December 31, 2022",
        "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity."
       }
      }
     },
     "auth_ref": [
      "r130",
      "r611",
      "r779"
     ]
    },
    "ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "CompActuallyPaidVsCoSelectedMeasureTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Actually Paid vs. Company Selected Measure [Text Block]",
        "terseLabel": "Compensation Actually Paid vs. Company Selected Measure"
       }
      }
     },
     "auth_ref": [
      "r841"
     ]
    },
    "ecd_CompActuallyPaidVsNetIncomeTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "CompActuallyPaidVsNetIncomeTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Actually Paid vs. Net Income [Text Block]",
        "terseLabel": "Compensation Actually Paid vs. Net Income"
       }
      }
     },
     "auth_ref": [
      "r840"
     ]
    },
    "ecd_CompActuallyPaidVsOtherMeasureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "CompActuallyPaidVsOtherMeasureTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Actually Paid vs. Other Measure [Text Block]",
        "terseLabel": "Compensation Actually Paid vs. Other Measure"
       }
      }
     },
     "auth_ref": [
      "r842"
     ]
    },
    "ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "CompActuallyPaidVsTotalShareholderRtnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Actually Paid vs. Total Shareholder Return [Text Block]",
        "terseLabel": "Compensation Actually Paid vs. Total Shareholder Return"
       }
      }
     },
     "auth_ref": [
      "r839"
     ]
    },
    "us-gaap_CompensationAndRetirementDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CompensationAndRetirementDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Pension Benefits"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ComponentsOfDeferredTaxLiabilitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ComponentsOfDeferredTaxLiabilitiesAbstract",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Components of Deferred Tax Liabilities [Abstract]",
        "verboseLabel": "Deferred income tax liabilities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ComprehensiveIncomeNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ComprehensiveIncomeNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncomeLossCalc2": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Comprehensive Income (Loss), Net Of Tax, Attributable To Parent",
        "totalLabel": "Comprehensive loss attributable to Innodata Inc. and Subsidiaries",
        "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners."
       }
      }
     },
     "auth_ref": [
      "r43",
      "r227",
      "r229",
      "r238",
      "r602",
      "r624"
     ]
    },
    "us-gaap_ComprehensiveIncomeNetOfTaxAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ComprehensiveIncomeNetOfTaxAbstract",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Comprehensive loss",
        "terseLabel": "Comprehensive Loss:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncomeLossCalc2": {
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Comprehensive (Income) Loss, Net of Tax, Attributable to Noncontrolling Interest, Total",
        "verboseLabel": "Comprehensive income (loss) attributed to non-controlling interest",
        "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income (loss) and other comprehensive income (loss), attributable to noncontrolling interests. Excludes changes in equity resulting from investments by owners and distributions to owners."
       }
      }
     },
     "auth_ref": [
      "r9",
      "r101",
      "r104",
      "r227",
      "r229",
      "r237",
      "r601",
      "r623"
     ]
    },
    "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncomeLossCalc2": {
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Comprehensive Income (Loss), Net of Tax, Including Portion Attributable to Noncontrolling Interest, Total",
        "totalLabel": "Total comprehensive loss",
        "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income. Excludes changes in equity resulting from investments by owners and distributions to owners."
       }
      }
     },
     "auth_ref": [
      "r104",
      "r176",
      "r227",
      "r229",
      "r236",
      "r600",
      "r622"
     ]
    },
    "us-gaap_ComprehensiveIncomeNoteTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ComprehensiveIncomeNoteTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureComprehensiveLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Comprehensive Income (Loss) Note [Text Block]",
        "terseLabel": "Comprehensive loss",
        "documentation": "The entire disclosure for comprehensive income, which includes, but is not limited to, 1) the amount of income tax expense or benefit allocated to each component of other comprehensive income, including reclassification adjustments, 2) the reclassification adjustments for each classification of other comprehensive income and 3) the ending accumulated balances for each component of comprehensive income."
       }
      }
     },
     "auth_ref": [
      "r136",
      "r235",
      "r599",
      "r621"
     ]
    },
    "us-gaap_ComputerSoftwareIntangibleAssetMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ComputerSoftwareIntangibleAssetMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails",
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsDetails",
      "http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Computer Software, Intangible Asset [Member]",
        "terseLabel": "Capitalized Developed Software",
        "verboseLabel": "Computer software",
        "documentation": "Collection of computer programs and related data that provide instructions to a computer, for example, but not limited to, application program, control module or operating system, that perform one or more particular functions or tasks."
       }
      }
     },
     "auth_ref": [
      "r755",
      "r917",
      "r918"
     ]
    },
    "us-gaap_ConcentrationRiskBenchmarkDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskBenchmarkDomain",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk Benchmark [Domain]",
        "documentation": "The denominator in a calculation of a disclosed concentration risk percentage."
       }
      }
     },
     "auth_ref": [
      "r51",
      "r53",
      "r119",
      "r120",
      "r314",
      "r739"
     ]
    },
    "us-gaap_ConcentrationRiskByBenchmarkAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskByBenchmarkAxis",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk Benchmark [Axis]",
        "documentation": "Information by benchmark of concentration risk."
       }
      }
     },
     "auth_ref": [
      "r51",
      "r53",
      "r119",
      "r120",
      "r314",
      "r646",
      "r739"
     ]
    },
    "us-gaap_ConcentrationRiskByTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskByTypeAxis",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk Type [Axis]",
        "documentation": "Information by type of concentration risk, for example, but not limited to, asset, liability, net assets, geographic, customer, employees, supplier, lender."
       }
      }
     },
     "auth_ref": [
      "r51",
      "r53",
      "r119",
      "r120",
      "r314",
      "r739",
      "r877"
     ]
    },
    "us-gaap_ConcentrationRiskCreditRisk": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskCreditRisk",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk, Credit Risk, Policy [Policy Text Block]",
        "terseLabel": "Concentration of Credit Risk",
        "documentation": "Disclosure of accounting policy for credit risk."
       }
      }
     },
     "auth_ref": [
      "r124",
      "r193"
     ]
    },
    "us-gaap_ConcentrationRiskPercentage1": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskPercentage1",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk, Percentage",
        "terseLabel": "Concentration risk, percentage",
        "documentation": "For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the \"benchmark\" (or denominator) in the equation, this concept represents the concentration percentage derived from the division."
       }
      }
     },
     "auth_ref": [
      "r51",
      "r53",
      "r119",
      "r120",
      "r314"
     ]
    },
    "us-gaap_ConcentrationRiskTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskTypeDomain",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk Type [Domain]",
        "documentation": "For an entity that discloses a concentration risk as a percentage of some financial balance or benchmark, identifies the type (for example, asset, liability, net assets, geographic, customer, employees, supplier, lender) of the concentration."
       }
      }
     },
     "auth_ref": [
      "r51",
      "r53",
      "r119",
      "r120",
      "r314",
      "r739"
     ]
    },
    "srt_ConsolidatedEntitiesAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ConsolidatedEntitiesAxis",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consolidated Entities [Axis]"
       }
      }
     },
     "auth_ref": [
      "r253",
      "r526",
      "r527",
      "r531",
      "r532",
      "r577",
      "r750",
      "r925",
      "r928",
      "r929"
     ]
    },
    "srt_ConsolidatedEntitiesDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ConsolidatedEntitiesDomain",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consolidated Entities [Domain]"
       }
      }
     },
     "auth_ref": [
      "r253",
      "r526",
      "r527",
      "r531",
      "r532",
      "r577",
      "r750",
      "r925",
      "r928",
      "r929"
     ]
    },
    "srt_ConsolidationItemsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ConsolidationItemsAxis",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consolidation Items [Axis]"
       }
      }
     },
     "auth_ref": [
      "r253",
      "r287",
      "r298",
      "r299",
      "r300",
      "r301",
      "r302",
      "r304",
      "r308",
      "r354",
      "r355",
      "r356",
      "r357",
      "r359",
      "r360",
      "r362",
      "r364",
      "r365",
      "r926",
      "r927"
     ]
    },
    "srt_ConsolidationItemsDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ConsolidationItemsDomain",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consolidation Items [Domain]"
       }
      }
     },
     "auth_ref": [
      "r253",
      "r287",
      "r298",
      "r299",
      "r300",
      "r301",
      "r302",
      "r304",
      "r308",
      "r354",
      "r355",
      "r356",
      "r357",
      "r359",
      "r360",
      "r362",
      "r364",
      "r365",
      "r926",
      "r927"
     ]
    },
    "us-gaap_ConsolidationPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConsolidationPolicyTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consolidation, Policy [Policy Text Block]",
        "terseLabel": "Principles of Consolidation",
        "documentation": "Disclosure of accounting policy regarding (1) the principles it follows in consolidating or combining the separate financial statements, including the principles followed in determining the inclusion or exclusion of subsidiaries or other entities in the consolidated or combined financial statements and (2) its treatment of interests (for example, common stock, a partnership interest or other means of exerting influence) in other entities, for example consolidation or use of the equity or cost methods of accounting. The accounting policy may also address the accounting treatment for intercompany accounts and transactions, noncontrolling interest, and the income statement treatment in consolidation for issuances of stock by a subsidiary."
       }
      }
     },
     "auth_ref": [
      "r102",
      "r760"
     ]
    },
    "us-gaap_ConstructionInProgressMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConstructionInProgressMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Construction in Progress [Member]",
        "terseLabel": "Capital work-in-progress",
        "documentation": "Structure or a modification to a structure under construction. Includes recently completed structures or modifications to structures that have not been placed into service."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CostsAndExpenses": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CostsAndExpenses",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLoss": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Costs and Expenses",
        "totalLabel": "Total",
        "documentation": "Total costs of sales and operating expenses for the period."
       }
      }
     },
     "auth_ref": [
      "r141"
     ]
    },
    "us-gaap_CostsAndExpensesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CostsAndExpensesAbstract",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Costs and Expenses [Abstract]",
        "verboseLabel": "Operating costs and expenses:"
       }
      }
     },
     "auth_ref": []
    },
    "dei_CoverAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CoverAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Document and Entity Information",
        "documentation": "Cover page."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CreditFacilityAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CreditFacilityAxis",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLineOfCreditDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Credit Facility [Axis]",
        "documentation": "Information by type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CreditFacilityDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CreditFacilityDomain",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLineOfCreditDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Credit Facility [Domain]",
        "documentation": "Type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CurrentFederalTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CurrentFederalTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesComponentsOfProvisionForIncomeTaxesDetails": {
       "parentTag": "us-gaap_CurrentIncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesComponentsOfProvisionForIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current Federal Tax Expense (Benefit)",
        "verboseLabel": "Federal",
        "documentation": "Amount of current federal tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current national tax expense (benefit) for non-US (United States of America) jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r881",
      "r897",
      "r967"
     ]
    },
    "dei_CurrentFiscalYearEndDate": {
     "xbrltype": "gMonthDayItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CurrentFiscalYearEndDate",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current Fiscal Year End Date",
        "documentation": "End date of current fiscal year in the format --MM-DD."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CurrentForeignTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CurrentForeignTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesComponentsOfProvisionForIncomeTaxesDetails": {
       "parentTag": "us-gaap_CurrentIncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesComponentsOfProvisionForIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current Foreign Tax Expense (Benefit)",
        "verboseLabel": "Foreign",
        "documentation": "Amount of current foreign income tax expense (benefit) pertaining to income (loss) from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r881",
      "r897"
     ]
    },
    "us-gaap_CurrentIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CurrentIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesComponentsOfProvisionForIncomeTaxesDetails": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesComponentsOfProvisionForIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current Income Tax Expense (Benefit)",
        "totalLabel": "Current income tax expense (benefit)",
        "documentation": "Amount of current income tax expense (benefit) pertaining to taxable income (loss) from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r173",
      "r513",
      "r519",
      "r897"
     ]
    },
    "us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesComponentsOfProvisionForIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current Income Tax Expense (Benefit), Continuing Operations [Abstract]",
        "terseLabel": "Current income tax expense (benefit):"
       }
      }
     },
     "auth_ref": []
    },
    "inod_CurrentPortionOfLongTermObligations": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "CurrentPortionOfLongTermObligations",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureLongTermObligationsDetailsCalc2": {
       "parentTag": "inod_TotalLongTermObligations",
       "weight": 1.0,
       "order": 1.0
      },
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLongTermObligationsDetails",
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The current portion of long-term obligations of the entity.",
        "label": "Current Portion Of Long-Term Obligations",
        "terseLabel": "Less: Current portion of long-term obligations",
        "verboseLabel": "Long-term obligations - current portion"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CurrentStateAndLocalTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CurrentStateAndLocalTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesComponentsOfProvisionForIncomeTaxesDetails": {
       "parentTag": "us-gaap_CurrentIncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesComponentsOfProvisionForIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current State and Local Tax Expense (Benefit)",
        "verboseLabel": "State and local",
        "documentation": "Amount of current state and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r881",
      "r897",
      "r967"
     ]
    },
    "us-gaap_CustomerConcentrationRiskMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CustomerConcentrationRiskMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer Concentration Risk [Member]",
        "terseLabel": "Customer concentration risk",
        "documentation": "Reflects the percentage that revenues in the period from one or more significant customers is to net revenues, as defined by the entity, such as total net revenues, product line revenues, segment revenues. The risk is the materially adverse effects of loss of a significant customer."
       }
      }
     },
     "auth_ref": [
      "r52",
      "r314"
     ]
    },
    "us-gaap_CustomerRelationshipsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CustomerRelationshipsMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer Relationships [Member]",
        "verboseLabel": "Customer relationships",
        "documentation": "Customer relationship that exists between an entity and its customer, for example, but not limited to, tenant relationships."
       }
      }
     },
     "auth_ref": [
      "r99"
     ]
    },
    "us-gaap_DatabasesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DatabasesMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Database Rights [Member]",
        "terseLabel": "Media Contact Database",
        "documentation": "Exclusive legal rights granted to the owner or licensee of collections of information stored in electronic form (such as on computer disks or files)."
       }
      }
     },
     "auth_ref": [
      "r100"
     ]
    },
    "inod_DdsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "DdsMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "It represents information pertaining to Digital Data Solutions (DDS) segment.",
        "label": "DDS [Member]",
        "terseLabel": "DDS"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtDisclosureTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLineOfCredit"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Disclosure [Text Block]",
        "terseLabel": "Line of Credit",
        "documentation": "The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants."
       }
      }
     },
     "auth_ref": [
      "r160",
      "r247",
      "r367",
      "r368",
      "r369",
      "r370",
      "r371",
      "r372",
      "r373",
      "r374",
      "r375",
      "r376",
      "r377"
     ]
    },
    "us-gaap_DebtInstrumentBasisSpreadOnVariableRate1": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentBasisSpreadOnVariableRate1",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLineOfCreditDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument, Basis Spread on Variable Rate",
        "terseLabel": "Interest rate",
        "documentation": "Percentage points added to the reference rate to compute the variable rate on the debt instrument."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredFederalIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredFederalIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesComponentsOfProvisionForIncomeTaxesDetails": {
       "parentTag": "us-gaap_DeferredIncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesComponentsOfProvisionForIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Federal Income Tax Expense (Benefit)",
        "verboseLabel": "Federal",
        "documentation": "Amount of deferred federal tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, deferred national tax expense (benefit) for non-US (United States of America) jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r897",
      "r966",
      "r967"
     ]
    },
    "us-gaap_DeferredForeignIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredForeignIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesComponentsOfProvisionForIncomeTaxesDetails": {
       "parentTag": "us-gaap_DeferredIncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesComponentsOfProvisionForIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Foreign Income Tax Expense (Benefit)",
        "verboseLabel": "Foreign",
        "documentation": "Amount of deferred foreign income tax expense (benefit) pertaining to income (loss) from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r173",
      "r897",
      "r966"
     ]
    },
    "us-gaap_DeferredIncomeTaxAssetsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredIncomeTaxAssetsNet",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Income Tax Assets, Net",
        "terseLabel": "Deferred income taxes, net",
        "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting."
       }
      }
     },
     "auth_ref": [
      "r497",
      "r498"
     ]
    },
    "us-gaap_DeferredIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesComponentsOfProvisionForIncomeTaxesDetails": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesComponentsOfProvisionForIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Income Tax Expense (Benefit)",
        "totalLabel": "Deferred income tax expense (benefit)",
        "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r11",
      "r173",
      "r202",
      "r518",
      "r519",
      "r897"
     ]
    },
    "us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesComponentsOfProvisionForIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Income Tax Expense (Benefit), Continuing Operations [Abstract]",
        "verboseLabel": "Deferred income tax expense (benefit):"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredIncomeTaxLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredIncomeTaxLiabilities",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsLiabilitiesNet",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Liabilities, Gross",
        "negatedLabel": "Net deferred income tax liability",
        "negatedTotalLabel": "Total deferred income tax liabilities",
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences."
       }
      }
     },
     "auth_ref": [
      "r127",
      "r128",
      "r181",
      "r507"
     ]
    },
    "us-gaap_DeferredIncomeTaxLiabilitiesNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredIncomeTaxLiabilitiesNet",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Income Tax Liabilities, Net",
        "verboseLabel": "Deferred income taxes, net",
        "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting."
       }
      }
     },
     "auth_ref": [
      "r497",
      "r498",
      "r608"
     ]
    },
    "us-gaap_DeferredIncomeTaxesAndTaxCredits": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredIncomeTaxesAndTaxCredits",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 12.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Income Taxes and Tax Credits",
        "terseLabel": "Deferred income taxes",
        "documentation": "Amount of deferred income tax expense (benefit) and income tax credits."
       }
      }
     },
     "auth_ref": [
      "r148"
     ]
    },
    "us-gaap_DeferredRevenue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredRevenue",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDeferredRevenueDetails",
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Revenue",
        "periodEndLabel": "Balance at December 31",
        "periodStartLabel": "Balance at January 1",
        "terseLabel": "Deferred revenue",
        "documentation": "Amount of deferred income and obligation to transfer product and service to customer for which consideration has been received or is receivable."
       }
      }
     },
     "auth_ref": [
      "r884"
     ]
    },
    "us-gaap_DeferredRevenueByArrangementDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredRevenueByArrangementDisclosureTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Revenue, by Arrangement, Disclosure [Table Text Block]",
        "terseLabel": "Schedule of information about contract liabilities (deferred revenue)",
        "documentation": "Tabular disclosure of the type of arrangements and the corresponding amounts that comprise the current and noncurrent balance of deferred revenue as of the balance sheet date."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredRevenuePeriodIncreaseDecrease": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredRevenuePeriodIncreaseDecrease",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDeferredRevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Revenue, Period Increase (Decrease)",
        "terseLabel": "Net deferred revenue in the period",
        "documentation": "Amount of increase (decrease) in deferred revenue."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredRevenueRevenueRecognized1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredRevenueRevenueRecognized1",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDeferredRevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Revenue, Revenue Recognized",
        "negatedLabel": "Revenue recognized",
        "documentation": "Amount of revenue recognized that was previously reported as deferred or unearned revenue."
       }
      }
     },
     "auth_ref": []
    },
    "inod_DeferredTaxAssetsExpensesNotDeductibleUntilPaid": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "DeferredTaxAssetsExpensesNotDeductibleUntilPaid",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of expenses not deductible until paid under deferred tax assets.",
        "label": "Deferred Tax Assets Expenses Not Deductible Until Paid",
        "verboseLabel": "Expenses not deductible until paid"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredTaxAssetsGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsGross",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsNet",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Gross",
        "totalLabel": "Total gross deferred income tax assets before valuation allowance",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards."
       }
      }
     },
     "auth_ref": [
      "r508"
     ]
    },
    "us-gaap_DeferredTaxAssetsGrossAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsGrossAbstract",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Gross [Abstract]",
        "verboseLabel": "Deferred income tax assets:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredTaxAssetsLiabilitiesNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsLiabilitiesNet",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Net",
        "terseLabel": "Net deferred income tax assets",
        "totalLabel": "Net deferred income tax assets",
        "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, without jurisdictional netting."
       }
      }
     },
     "auth_ref": [
      "r964"
     ]
    },
    "us-gaap_DeferredTaxAssetsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsNet",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsLiabilitiesNet",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Net of Valuation Allowance",
        "totalLabel": "Deferred income tax assets, net",
        "verboseLabel": "Net deferred income tax assets",
        "documentation": "Amount after allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards."
       }
      }
     },
     "auth_ref": [
      "r964"
     ]
    },
    "us-gaap_DeferredTaxAssetsOperatingLossCarryforwards": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsOperatingLossCarryforwards",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Operating Loss Carryforwards",
        "verboseLabel": "Net operating loss carryforwards",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible operating loss carryforwards."
       }
      }
     },
     "auth_ref": [
      "r95",
      "r965"
     ]
    },
    "us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsNotSubjectToExpiration": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsOperatingLossCarryforwardsNotSubjectToExpiration",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Operating Loss Carryforwards, Not Subject to Expiration",
        "terseLabel": "Research and development credits not subject to expiration",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible operating loss carryforwards that are not subject to expiration dates."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Operating Loss Carryforwards, Subject to Expiration",
        "terseLabel": "NOL carryforwards subject to expiration",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible operating loss carryforwards that are subject to expiration dates."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredTaxAssetsOther": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsOther",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Other",
        "verboseLabel": "Other",
        "documentation": "Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences, classified as other."
       }
      }
     },
     "auth_ref": [
      "r95",
      "r965"
     ]
    },
    "us-gaap_DeferredTaxAssetsPropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsPropertyPlantAndEquipment",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Property, Plant and Equipment",
        "verboseLabel": "Depreciation and amortization",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from property, plant, and equipment."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredTaxAssetsTaxCreditCarryforwardsResearch": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsTaxCreditCarryforwardsResearch",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails",
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Tax Credit Carryforwards, Research",
        "terseLabel": "Research and development credits",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible research tax credit carryforwards."
       }
      }
     },
     "auth_ref": [
      "r94",
      "r95",
      "r965"
     ]
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Tax Deferred Expense, Compensation and Benefits",
        "verboseLabel": "Equity compensation not currently deductible",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from compensation and benefits costs."
       }
      }
     },
     "auth_ref": [
      "r95",
      "r965"
     ]
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsGross",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals",
        "verboseLabel": "Allowances not currently deductible",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from reserves and accruals."
       }
      }
     },
     "auth_ref": [
      "r95",
      "r965"
     ]
    },
    "us-gaap_DeferredTaxAssetsValuationAllowance": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxAssetsValuationAllowance",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxAssetsNet",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails",
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Valuation Allowance",
        "negatedLabel": "Valuation allowance",
        "terseLabel": "Valuation allowance",
        "documentation": "Amount of deferred tax assets for which it is more likely than not that a tax benefit will not be realized."
       }
      }
     },
     "auth_ref": [
      "r509"
     ]
    },
    "us-gaap_DeferredTaxLiabilitiesOther": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredTaxLiabilitiesOther",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredIncomeTaxLiabilities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Liabilities, Other",
        "negatedLabel": "Other",
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences classified as other."
       }
      }
     },
     "auth_ref": [
      "r95",
      "r965"
     ]
    },
    "us-gaap_DefinedBenefitPlanAccumulatedBenefitObligation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DefinedBenefitPlanAccumulatedBenefitObligation",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Defined Benefit Plan, Accumulated Benefit Obligation",
        "terseLabel": "Accumulated benefit obligation",
        "documentation": "Amount of actuarial present value of benefits attributed to employee service rendered, excluding assumptions about future compensation level."
       }
      }
     },
     "auth_ref": [
      "r419"
     ]
    },
    "us-gaap_DefinedBenefitPlanActuarialGainLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DefinedBenefitPlanActuarialGainLoss",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsBenefitObligationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Defined Benefit Plan, Benefit Obligation, Actuarial Gain (Loss)",
        "negatedLabel": "Actuarial loss (gain)",
        "documentation": "Amount of gain (loss) from change in actuarial assumptions which (increases) decreases benefit obligation of defined benefit plan. Assumptions include, but are not limited to, interest, mortality, employee turnover, salary, and temporary deviation from substantive plan."
       }
      }
     },
     "auth_ref": [
      "r412"
     ]
    },
    "us-gaap_DefinedBenefitPlanActuarialGainLossImmediateRecognitionAsComponentInNetPeriodicBenefitCostCredit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DefinedBenefitPlanActuarialGainLossImmediateRecognitionAsComponentInNetPeriodicBenefitCostCredit",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsComponentsOfNetPeriodicPensionCostDetails": {
       "parentTag": "us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost",
       "weight": -1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsComponentsOfNetPeriodicPensionCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Defined Benefit Plan, Actuarial Gain (Loss), Immediate Recognition as Component in Net Periodic Benefit (Cost) Credit",
        "negatedLabel": "Actuarial loss recognized",
        "documentation": "Amount of gain (loss), recognized immediately as component of net periodic benefit (cost) credit, for change in value of benefit obligation or plan assets from experience different from that assumed, change in actuarial assumption, or consequence of temporarily deviating from substantive plan. Includes, but is not limited to, amount in excess of 10 percent of greater of fair value of plan assets or benefit obligation."
       }
      }
     },
     "auth_ref": [
      "r407",
      "r424",
      "r439"
     ]
    },
    "us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsActuarialAssumptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Defined Benefit Plan, Assumptions Used Calculating Benefit Obligation, Discount Rate",
        "verboseLabel": "Discount rate",
        "documentation": "Weighted average rate for present value of future retirement benefits cash flows, used to determine benefit obligation of defined benefit plan."
       }
      }
     },
     "auth_ref": [
      "r427"
     ]
    },
    "us-gaap_DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationRateOfCompensationIncrease": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationRateOfCompensationIncrease",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsActuarialAssumptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Defined Benefit Plan, Assumptions Used Calculating Benefit Obligation, Rate of Compensation Increase",
        "verboseLabel": "Rate of increase in compensation level",
        "documentation": "Weighted average rate increase of compensation, used to determine benefit obligation of defined benefit plan. Plan includes, but is not limited to, pay-related defined benefit plan."
       }
      }
     },
     "auth_ref": [
      "r428"
     ]
    },
    "us-gaap_DefinedBenefitPlanBenefitObligation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DefinedBenefitPlanBenefitObligation",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsBenefitObligationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Defined Benefit Plan, Benefit Obligation",
        "periodEndLabel": "Projected benefit obligation at end of the year",
        "periodStartLabel": "Projected benefit obligation at beginning of the year",
        "documentation": "Amount of actuarial present value of benefits attributed to service rendered by employee for defined benefit plan."
       }
      }
     },
     "auth_ref": [
      "r408"
     ]
    },
    "us-gaap_DefinedBenefitPlanBenefitObligationBenefitsPaid": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DefinedBenefitPlanBenefitObligationBenefitsPaid",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsBenefitObligationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Defined Benefit Plan, Benefit Obligation, Benefits Paid",
        "negatedLabel": "Benefits paid",
        "documentation": "Amount of payment to participant of defined benefit plan which decreases benefit obligation. For pension plan, payment includes, but is not limited to, pension benefits and death benefits. For other postretirement plan, payment includes, but is not limited to, prescription drug benefits, health care benefits, life insurance benefits, and legal, educational and advisory services."
       }
      }
     },
     "auth_ref": [
      "r413",
      "r443"
     ]
    },
    "us-gaap_DefinedBenefitPlanCurtailments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DefinedBenefitPlanCurtailments",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsBenefitObligationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Defined Benefit Plan, Benefit Obligation, (Increase) Decrease for Curtailment",
        "terseLabel": "Curtailment",
        "documentation": "Amount of (increase) decrease in benefit obligation of defined benefit plan from event reducing expected years of future service of present employees or eliminating accrual of benefits for some or all future services of present employees."
       }
      }
     },
     "auth_ref": [
      "r410"
     ]
    },
    "us-gaap_DefinedBenefitPlanDisclosureLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DefinedBenefitPlanDisclosureLineItems",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsActuarialAssumptionsDetails",
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Defined Benefit Plan Disclosure [Line Items]",
        "terseLabel": "Pension Benefits",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "inod_DefinedBenefitPlanExpectedFutureBenefitPaymentYearSixToYearNine": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "DefinedBenefitPlanExpectedFutureBenefitPaymentYearSixToYearNine",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsEstimatedFutureBenefitPaymentsDetails": {
       "parentTag": "inod_DefinedBenefitPlanExpectedFutureBenefitPayments",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsEstimatedFutureBenefitPaymentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of benefit for defined benefit plan expected to be paid in sixth fiscal year to ninth fiscal year following current fiscal year.",
        "label": "Defined Benefit Plan, Expected Future Benefit Payment, Year Six to Year Nine",
        "terseLabel": "2029 to 2032"
       }
      }
     },
     "auth_ref": []
    },
    "inod_DefinedBenefitPlanExpectedFutureBenefitPayments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "DefinedBenefitPlanExpectedFutureBenefitPayments",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsEstimatedFutureBenefitPaymentsDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsEstimatedFutureBenefitPaymentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of estimated future benefit payments for defined benefit plan.",
        "label": "Defined Benefit Plan Expected Future Benefit Payments",
        "totalLabel": "Total"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsEstimatedFutureBenefitPaymentsDetails": {
       "parentTag": "inod_DefinedBenefitPlanExpectedFutureBenefitPayments",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsEstimatedFutureBenefitPaymentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Defined Benefit Plan, Expected Future Benefit Payment, Next Twelve Months",
        "verboseLabel": "2024",
        "documentation": "Amount of benefit for defined benefit plan expected to be paid in next fiscal year following current fiscal year."
       }
      }
     },
     "auth_ref": [
      "r420"
     ]
    },
    "us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFive": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFive",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsEstimatedFutureBenefitPaymentsDetails": {
       "parentTag": "inod_DefinedBenefitPlanExpectedFutureBenefitPayments",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsEstimatedFutureBenefitPaymentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Defined Benefit Plan, Expected Future Benefit Payment, Year Five",
        "verboseLabel": "2028",
        "documentation": "Amount of benefit for defined benefit plan expected to be paid in fifth fiscal year following current fiscal year."
       }
      }
     },
     "auth_ref": [
      "r420"
     ]
    },
    "us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFour": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFour",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsEstimatedFutureBenefitPaymentsDetails": {
       "parentTag": "inod_DefinedBenefitPlanExpectedFutureBenefitPayments",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsEstimatedFutureBenefitPaymentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Defined Benefit Plan, Expected Future Benefit Payment, Year Four",
        "verboseLabel": "2027",
        "documentation": "Amount of benefit for defined benefit plan expected to be paid in fourth fiscal year following current fiscal year."
       }
      }
     },
     "auth_ref": [
      "r420"
     ]
    },
    "us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearThree": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DefinedBenefitPlanExpectedFutureBenefitPaymentsYearThree",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsEstimatedFutureBenefitPaymentsDetails": {
       "parentTag": "inod_DefinedBenefitPlanExpectedFutureBenefitPayments",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsEstimatedFutureBenefitPaymentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Defined Benefit Plan, Expected Future Benefit Payment, Year Three",
        "verboseLabel": "2026",
        "documentation": "Amount of benefit for defined benefit plan expected to be paid in third fiscal year following current fiscal year."
       }
      }
     },
     "auth_ref": [
      "r420"
     ]
    },
    "us-gaap_DefinedBenefitPlanExpectedFutureBenefitPaymentsYearTwo": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DefinedBenefitPlanExpectedFutureBenefitPaymentsYearTwo",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsEstimatedFutureBenefitPaymentsDetails": {
       "parentTag": "inod_DefinedBenefitPlanExpectedFutureBenefitPayments",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsEstimatedFutureBenefitPaymentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Defined Benefit Plan, Expected Future Benefit Payment, Year Two",
        "verboseLabel": "2025",
        "documentation": "Amount of benefit for defined benefit plan expected to be paid in second fiscal year following current fiscal year."
       }
      }
     },
     "auth_ref": [
      "r420"
     ]
    },
    "us-gaap_DefinedBenefitPlanInterestCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DefinedBenefitPlanInterestCost",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsComponentsOfNetPeriodicPensionCostDetails": {
       "parentTag": "us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsBenefitObligationsDetails",
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsComponentsOfNetPeriodicPensionCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Defined Benefit Plan, Interest Cost",
        "verboseLabel": "Interest cost",
        "documentation": "Amount of cost recognized for passage of time related to defined benefit plan."
       }
      }
     },
     "auth_ref": [
      "r407",
      "r411",
      "r423",
      "r438",
      "r770",
      "r771"
     ]
    },
    "us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DefinedBenefitPlanNetPeriodicBenefitCost",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsComponentsOfNetPeriodicPensionCostDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsComponentsOfNetPeriodicPensionCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Defined Benefit Plan, Net Periodic Benefit Cost (Credit)",
        "totalLabel": "Net periodic pension cost",
        "documentation": "Amount of net periodic benefit cost (credit) for defined benefit plan."
       }
      }
     },
     "auth_ref": [
      "r421",
      "r436",
      "r770",
      "r771"
     ]
    },
    "us-gaap_DefinedBenefitPlanNetPeriodicBenefitCostCreditImmediateRecognitionOfActuarialGainLossStatementOfIncomeOrComprehensiveIncomeExtensibleList": {
     "xbrltype": "enumerationSetItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DefinedBenefitPlanNetPeriodicBenefitCostCreditImmediateRecognitionOfActuarialGainLossStatementOfIncomeOrComprehensiveIncomeExtensibleList",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsComponentsOfNetPeriodicPensionCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Defined Benefit Plan, Net Periodic Benefit (Cost) Credit, Immediate Recognition of Actuarial Gain (Loss), Statement of Income or Comprehensive Income [Extensible Enumeration]",
        "documentation": "Indicates line item in statement of income or comprehensive income that includes actuarial gain (loss) recognized immediately as component of net periodic benefit (cost) credit for defined benefit plan."
       }
      }
     },
     "auth_ref": [
      "r421",
      "r436"
     ]
    },
    "us-gaap_DefinedBenefitPlanNetPeriodicBenefitCostCreditInterestCostStatementOfIncomeOrComprehensiveIncomeExtensibleList": {
     "xbrltype": "enumerationSetItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DefinedBenefitPlanNetPeriodicBenefitCostCreditInterestCostStatementOfIncomeOrComprehensiveIncomeExtensibleList",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsBenefitObligationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Defined Benefit Plan, Net Periodic Benefit Cost (Credit), Interest Cost, Statement of Income or Comprehensive Income [Extensible Enumeration]",
        "terseLabel": "Defined Benefit Plan, Net Periodic Benefit Cost (Credit), Interest Cost, Statement of Income or Comprehensive Income [Extensible Enumeration]",
        "documentation": "Indicates line item in statement of income or comprehensive income that includes interest cost component of net periodic benefit cost (credit) for defined benefit plan."
       }
      }
     },
     "auth_ref": [
      "r421",
      "r436"
     ]
    },
    "us-gaap_DefinedBenefitPlanPlanAssetsForeignCurrencyTranslationGainLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DefinedBenefitPlanPlanAssetsForeignCurrencyTranslationGainLoss",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsBenefitObligationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Defined Benefit Plan, Plan Assets, Foreign Currency Translation Gain (Loss)",
        "verboseLabel": "Foreign currency exchange rates changes",
        "documentation": "Amount of foreign currency translation gain (loss) which increases (decreases) plan assets of defined benefit plan."
       }
      }
     },
     "auth_ref": [
      "r414"
     ]
    },
    "us-gaap_DefinedBenefitPlanRecognizedNetGainLossDueToCurtailments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DefinedBenefitPlanRecognizedNetGainLossDueToCurtailments",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsComponentsOfNetPeriodicPensionCostDetails": {
       "parentTag": "us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost",
       "weight": -1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsComponentsOfNetPeriodicPensionCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Defined Benefit Plan, Net Periodic Benefit Cost (Credit), Gain (Loss) Due to Curtailment",
        "negatedLabel": "Curtailment",
        "documentation": "Amount of gain (loss) recognized in net periodic benefit (cost) credit from event reducing expected years of future service of present employees or eliminating accrual of defined benefits for some or all future services of present employees."
       }
      }
     },
     "auth_ref": [
      "r406",
      "r425",
      "r440"
     ]
    },
    "us-gaap_DefinedBenefitPlanServiceCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DefinedBenefitPlanServiceCost",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsComponentsOfNetPeriodicPensionCostDetails": {
       "parentTag": "us-gaap_DefinedBenefitPlanNetPeriodicBenefitCost",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsBenefitObligationsDetails",
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsComponentsOfNetPeriodicPensionCostDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Defined Benefit Plan, Service Cost",
        "verboseLabel": "Service cost",
        "documentation": "Amount of cost for actuarial present value of benefits attributed to service rendered by employee for defined benefit plan."
       }
      }
     },
     "auth_ref": [
      "r409",
      "r422",
      "r437",
      "r770",
      "r771"
     ]
    },
    "inod_DefinedContributionPensionPlanPeriodOfServiceToBecomeEligible": {
     "xbrltype": "durationItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "DefinedContributionPensionPlanPeriodOfServiceToBecomeEligible",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The period of service by substantially all of its U.S. employees to become eligible for the U.S. Defined Contribution Pension Plan.",
        "label": "Defined Contribution Pension Plan Period Of Service To Become Eligible",
        "terseLabel": "Period of service to become eligible"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DefinedContributionPlanIncreaseDecreaseCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DefinedContributionPlanIncreaseDecreaseCost",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Defined Contribution Plan, Increase (Decrease), Cost",
        "terseLabel": "Pension cost",
        "documentation": "Amount of increase (decrease) in cost for defined contribution plan."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DepreciationDepletionAndAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DepreciationDepletionAndAmortization",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 11.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentAdditionalInformationDetails",
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Depreciation, Depletion and Amortization",
        "terseLabel": "Depreciation and amortization",
        "verboseLabel": "Depreciation expense",
        "documentation": "The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets."
       }
      }
     },
     "auth_ref": [
      "r11",
      "r290"
     ]
    },
    "us-gaap_DerivativeContractTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DerivativeContractTypeDomain",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDerivativesFairValueOfDerivativeInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Derivative Contract [Domain]",
        "documentation": "Financial instrument or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset."
       }
      }
     },
     "auth_ref": [
      "r664",
      "r666",
      "r680",
      "r681",
      "r682",
      "r683",
      "r684",
      "r685",
      "r686",
      "r688",
      "r689",
      "r690",
      "r691",
      "r700",
      "r701",
      "r702",
      "r703",
      "r706",
      "r707",
      "r708",
      "r709",
      "r728",
      "r729",
      "r732",
      "r733",
      "r781",
      "r783"
     ]
    },
    "us-gaap_DerivativeInstrumentRiskAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DerivativeInstrumentRiskAxis",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDerivativesFairValueOfDerivativeInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Derivative Instrument [Axis]",
        "documentation": "Information by type of derivative contract."
       }
      }
     },
     "auth_ref": [
      "r109",
      "r111",
      "r113",
      "r114",
      "r664",
      "r666",
      "r680",
      "r681",
      "r682",
      "r683",
      "r684",
      "r685",
      "r686",
      "r688",
      "r689",
      "r690",
      "r691",
      "r700",
      "r701",
      "r702",
      "r703",
      "r706",
      "r707",
      "r708",
      "r709",
      "r728",
      "r729",
      "r732",
      "r733",
      "r758",
      "r781",
      "r783"
     ]
    },
    "us-gaap_DerivativeInstrumentsAndHedgesLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DerivativeInstrumentsAndHedgesLiabilities",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDerivativesFairValueOfDerivativeInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Derivative Instruments and Hedges, Liabilities, Total",
        "verboseLabel": "Derivatives designated as hedging instruments",
        "documentation": "Sum as of the balance sheet date of the (a) fair values of all liabilities resulting from contracts that meet the criteria of being accounted for as derivative instruments, and (b) the carrying amounts of the liabilities arising from financial instruments or contracts used to mitigate a specified risk (hedge), and which are expected to be extinguished or otherwise disposed of within a year or the normal operating cycle, if longer, net of the effects of master netting arrangements."
       }
      }
     },
     "auth_ref": [
      "r33"
     ]
    },
    "us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Derivatives"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDerivatives"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Derivative Instruments and Hedging Activities Disclosure [Text Block]",
        "terseLabel": "Derivatives",
        "documentation": "The entire disclosure for derivative instruments and hedging activities including, but not limited to, risk management strategies, non-hedging derivative instruments, assets, liabilities, revenue and expenses, and methodologies and assumptions used in determining the amounts."
       }
      }
     },
     "auth_ref": [
      "r178",
      "r536",
      "r544"
     ]
    },
    "us-gaap_DerivativeNotionalAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DerivativeNotionalAmount",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDerivativesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Derivative, Notional Amount",
        "terseLabel": "Derivative notional amount",
        "documentation": "Nominal or face amount used to calculate payment on derivative."
       }
      }
     },
     "auth_ref": [
      "r969",
      "r970"
     ]
    },
    "us-gaap_DerivativesFairValueLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DerivativesFairValueLineItems",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDerivativesFairValueOfDerivativeInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Derivatives, Fair Value [Line Items]",
        "terseLabel": "Derivatives, Fair Value",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DerivativesPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DerivativesPolicyTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Derivatives, Policy [Policy Text Block]",
        "terseLabel": "Derivative Instruments",
        "documentation": "Disclosure of accounting policy for its derivative instruments and hedging activities."
       }
      }
     },
     "auth_ref": [
      "r22",
      "r105",
      "r106",
      "r107",
      "r115",
      "r252"
     ]
    },
    "inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesLineItems",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Description of Business and Summary of Significant Accounting Policies [Line Items]",
        "terseLabel": "Description of Business and Summary of Significant Accounting Estimates and Policies"
       }
      }
     },
     "auth_ref": []
    },
    "inod_DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "DescriptionOfBusinessAndSummaryOfSignificantAccountingPoliciesTable",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Description of Business and Summary of Significant Accounting Estimates and Policies [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DesignatedAsHedgingInstrumentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DesignatedAsHedgingInstrumentMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDerivativesFairValueOfDerivativeInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Designated as Hedging Instrument [Member]",
        "terseLabel": "Designated as hedging instrument",
        "documentation": "Derivative instrument designated as hedging instrument under Generally Accepted Accounting Principles (GAAP)."
       }
      }
     },
     "auth_ref": [
      "r22"
     ]
    },
    "us-gaap_DevelopedTechnologyRightsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DevelopedTechnologyRightsMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Developed Technology Rights [Member]",
        "terseLabel": "Developed technology",
        "documentation": "Rights to developed technology, which can include the right to develop, use, market, sell, or offer for sale products, compounds, or intellectual property."
       }
      }
     },
     "auth_ref": [
      "r174"
     ]
    },
    "us-gaap_DirectOperatingCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DirectOperatingCosts",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLoss": {
       "parentTag": "us-gaap_CostsAndExpenses",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Direct Operating Costs",
        "terseLabel": "Direct operating costs",
        "documentation": "The aggregate direct operating costs incurred during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r143"
     ]
    },
    "srt_DirectorMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "DirectorMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non Employee Director [Member]",
        "terseLabel": "Non employee director"
       }
      }
     },
     "auth_ref": [
      "r903",
      "r995"
     ]
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptions"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Disclosure Of Compensation Related Costs, Share-Based Payments [Text Block]",
        "terseLabel": "Stock Options",
        "documentation": "The entire disclosure for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r446",
      "r450",
      "r480",
      "r481",
      "r483",
      "r773"
     ]
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Options"
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentAnnualReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentAnnualReport",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Annual Report",
        "documentation": "Boolean flag that is true only for a form used as an annual report."
       }
      }
     },
     "auth_ref": [
      "r795",
      "r796",
      "r809"
     ]
    },
    "dei_DocumentFinStmtErrorCorrectionFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentFinStmtErrorCorrectionFlag",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Financial Statement Error Correction [Flag]",
        "documentation": "Indicates whether any of the financial statement period in the filing include a restatement due to error correction."
       }
      }
     },
     "auth_ref": [
      "r795",
      "r796",
      "r809",
      "r845"
     ]
    },
    "dei_DocumentFiscalPeriodFocus": {
     "xbrltype": "fiscalPeriodItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentFiscalPeriodFocus",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Fiscal Period Focus",
        "documentation": "Fiscal period values are FY, Q1, Q2, and Q3.  1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentFiscalYearFocus": {
     "xbrltype": "gYearItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentFiscalYearFocus",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Fiscal Year Focus",
        "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentPeriodEndDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentPeriodEndDate",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Period End Date",
        "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period.  The format of the date is YYYY-MM-DD."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentTransitionReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentTransitionReport",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Transition Report",
        "documentation": "Boolean flag that is true only for a form used as a transition report."
       }
      }
     },
     "auth_ref": [
      "r830"
     ]
    },
    "dei_DocumentType": {
     "xbrltype": "submissionTypeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentType",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Type",
        "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DomesticCountryMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DomesticCountryMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Domestic Tax Authority [Member]",
        "terseLabel": "U.S. federal",
        "documentation": "Designated tax department of the government that is entitled to levy and collect income taxes from the entity in its country of domicile."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EarningsPerShareAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareAbstract",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Loss per Share",
        "terseLabel": "Loss per share attributable to Innodata Inc. and Subsidiaries:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EarningsPerShareBasic": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareBasic",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings Per Share, Basic",
        "verboseLabel": "Basic (in dollars per share)",
        "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r239",
      "r259",
      "r260",
      "r261",
      "r262",
      "r263",
      "r268",
      "r270",
      "r272",
      "r273",
      "r274",
      "r278",
      "r547",
      "r548",
      "r603",
      "r625",
      "r762"
     ]
    },
    "us-gaap_EarningsPerShareDiluted": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareDiluted",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings Per Share, Diluted",
        "verboseLabel": "Diluted (in dollars per share)",
        "documentation": "The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r239",
      "r259",
      "r260",
      "r261",
      "r262",
      "r263",
      "r270",
      "r272",
      "r273",
      "r274",
      "r278",
      "r547",
      "r548",
      "r603",
      "r625",
      "r762"
     ]
    },
    "us-gaap_EarningsPerSharePolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerSharePolicyTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings Per Share, Policy [Policy Text Block]",
        "terseLabel": "Income (Loss) per Share",
        "documentation": "Disclosure of accounting policy for computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements."
       }
      }
     },
     "auth_ref": [
      "r49",
      "r50"
     ]
    },
    "us-gaap_EarningsPerShareTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLossPerShare"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings Per Share [Text Block]",
        "terseLabel": "Loss per Share",
        "documentation": "The entire disclosure for earnings per share."
       }
      }
     },
     "auth_ref": [
      "r267",
      "r275",
      "r276",
      "r277"
     ]
    },
    "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effect of Exchange Rate on Cash and Cash Equivalents, Continuing Operations",
        "terseLabel": "Effect of exchange rate changes on cash and cash equivalents",
        "documentation": "Amount of increase (decrease) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies. Excludes amounts for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates."
       }
      }
     },
     "auth_ref": [
      "r555"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateContinuingOperations": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateContinuingOperations",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, Percent",
        "totalLabel": "Effective tax rate",
        "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations."
       }
      }
     },
     "auth_ref": [
      "r500"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, Percent [Abstract]",
        "verboseLabel": "Effect of:"
       }
      }
     },
     "auth_ref": []
    },
    "inod_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRateBenefitExpense": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRateBenefitExpense",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of domestic federal statutory tax rate applicable to pretax income (loss).",
        "label": "Effective Income Tax Rate Reconciliation At Federal Statutory Income Tax Rate (Benefit) Expense",
        "terseLabel": "Federal income tax expense (benefit) at statutory rate"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, Change in Deferred Tax Assets Valuation Allowance, Percent",
        "verboseLabel": "Change in valuation allowance",
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to changes in the valuation allowance for deferred tax assets."
       }
      }
     },
     "auth_ref": [
      "r961",
      "r968"
     ]
    },
    "inod_EffectiveIncomeTaxRateReconciliationDeemedInterestPercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "EffectiveIncomeTaxRateReconciliationDeemedInterestPercent",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 11.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to deemed interest.",
        "label": "Effective Income Tax Rate Reconciliation, Deemed Interest, Percent",
        "terseLabel": "Deemed interest"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 15.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, Foreign Income Tax Rate Differential, Percent",
        "terseLabel": "Foreign rate differential",
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to statutory income tax expense (benefit) outside of the country of domicile."
       }
      }
     },
     "auth_ref": [
      "r961",
      "r968"
     ]
    },
    "inod_EffectiveIncomeTaxRateReconciliationIncreaseInUnrecognizedTaxBenefits": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "EffectiveIncomeTaxRateReconciliationIncreaseInUnrecognizedTaxBenefits",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "These lines are represents tax rate of income unrecognized tax benefits.",
        "label": "Effective Income Tax Rate Reconciliation Increase In Unrecognized Tax Benefits",
        "terseLabel": "Increase in unrecognized tax benefits (ASC 740)"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 13.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, Other Reconciling Items, Percent",
        "verboseLabel": "Other",
        "documentation": "Percentage of the difference, between reported income tax expense (benefit) and the expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations, that is attributable to tax exempt income, equity in earnings (loss) of an unconsolidated subsidiary, minority interest income (expense), tax holiday, disposition of a business, disposition of an asset, repatriation of foreign earnings, repatriation of foreign earnings jobs creation act of 2004, change in enacted tax rate, prior year income taxes, change in deferred tax asset valuation allowance, and other adjustments."
       }
      }
     },
     "auth_ref": []
    },
    "inod_EffectiveIncomeTaxRateReconciliationReturnToProvisionTrueUp": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "EffectiveIncomeTaxRateReconciliationReturnToProvisionTrueUp",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 14.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of Effective Income Tax Rate Reconciliation, Return to Provision True Up.",
        "label": "Effective Income Tax Rate Reconciliation Return to Provision True Up",
        "terseLabel": "Return to provision true up"
       }
      }
     },
     "auth_ref": []
    },
    "inod_EffectiveIncomeTaxRateReconciliationSection162Percentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "EffectiveIncomeTaxRateReconciliationSection162Percentage",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Effective income tax rate reconciliation section 162 percentage.",
        "label": "Effective Income Tax Rate Reconciliation Section 162 Percentage",
        "terseLabel": "Section 162 (m)"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 12.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, Tax Expense (Benefit), Share-based Payment Arrangement, Percent",
        "terseLabel": "Effect of stock-based compensation",
        "documentation": "Percentage of difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operation, attributable to expense for award under share-based payment arrangement. Excludes expense determined to be nondeductible upon grant or after for award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r873",
      "r961"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Percent",
        "terseLabel": "State income tax net of federal benefit",
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to state and local income tax expense (benefit), net of federal tax expense (benefit)."
       }
      }
     },
     "auth_ref": [
      "r961",
      "r968"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationTaxContingenciesForeign": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationTaxContingenciesForeign",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, Tax Contingency, Foreign, Percent",
        "verboseLabel": "Tax effects of foreign operations",
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to changes in foreign income tax contingency."
       }
      }
     },
     "auth_ref": [
      "r961",
      "r968"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationTaxCreditsResearch": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateReconciliationTaxCreditsResearch",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": -1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, Tax Credit, Research, Percent",
        "negatedLabel": "Research and development credit",
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to research tax credit."
       }
      }
     },
     "auth_ref": [
      "r961",
      "r968"
     ]
    },
    "inod_EffectiveIncomeTaxRateReconciliationTaxSettlementIntercompanyPercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "EffectiveIncomeTaxRateReconciliationTaxSettlementIntercompanyPercent",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 9.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to tax benefit of intercompany settlement.",
        "label": "Effective Income Tax Rate Reconciliation, Tax Settlement, Intercompany, Percent",
        "terseLabel": "Tax effect of intercompany settlement"
       }
      }
     },
     "auth_ref": []
    },
    "inod_EffectiveIncomeTaxRateReconciliationWithholdingTaxPercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "EffectiveIncomeTaxRateReconciliationWithholdingTaxPercentage",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Effective income tax rate reconciliation withholding tax percentage.",
        "label": "Effective Income Tax Rate Reconciliation Withholding Tax Percentage",
        "terseLabel": "Withholding tax"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EmployeeRelatedLiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EmployeeRelatedLiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Employee Related Liabilities Current",
        "verboseLabel": "Accrued salaries, wages and related benefits",
        "documentation": "Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r33"
     ]
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Employee Service Share-Based Compensation, Nonvested Awards, Total Compensation Cost Not Yet Recognized",
        "verboseLabel": "Compensation cost related to non-vested stock options and restricted stock awards not yet recognized",
        "documentation": "Amount of cost not yet recognized for nonvested award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r482"
     ]
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized, Period for Recognition",
        "terseLabel": "Weighted-average period over which compensation cost recognized",
        "documentation": "Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r482"
     ]
    },
    "us-gaap_EmployeeStockOptionMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EmployeeStockOptionMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLossPerShareAdditionalInformationDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAdditionalInformationDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionActivityDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsWeightedAverageFairValuesAndAssumptionsDetails",
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Employee Stock Option [Member]",
        "terseLabel": "Employee Stock Option",
        "documentation": "Share-based payment arrangement granting right, subject to vesting and other restrictions, to purchase or sell certain number of shares at predetermined price for specified period of time."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressAddressLine1": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressAddressLine1",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Address Line One",
        "documentation": "Address Line 1 such as Attn, Building Name, Street Name"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressCityOrTown": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressCityOrTown",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, City or Town",
        "documentation": "Name of the City or Town"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressPostalZipCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressPostalZipCode",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Postal Zip Code",
        "documentation": "Code for the postal or zip code"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressStateOrProvince": {
     "xbrltype": "stateOrProvinceItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressStateOrProvince",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, State or Province",
        "documentation": "Name of the state or province."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityCentralIndexKey": {
     "xbrltype": "centralIndexKeyItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityCentralIndexKey",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Central Index Key",
        "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK."
       }
      }
     },
     "auth_ref": [
      "r793"
     ]
    },
    "dei_EntityCommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityCommonStockSharesOutstanding",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Common Stock, Shares Outstanding",
        "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityCurrentReportingStatus": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityCurrentReportingStatus",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Current Reporting Status",
        "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityEmergingGrowthCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityEmergingGrowthCompany",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Emerging Growth Company",
        "documentation": "Indicate if registrant meets the emerging growth company criteria."
       }
      }
     },
     "auth_ref": [
      "r793"
     ]
    },
    "dei_EntityFileNumber": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityFileNumber",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity File Number",
        "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityFilerCategory": {
     "xbrltype": "filerCategoryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityFilerCategory",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Filer Category",
        "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure."
       }
      }
     },
     "auth_ref": [
      "r793"
     ]
    },
    "dei_EntityIncorporationStateCountryCode": {
     "xbrltype": "edgarStateCountryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityIncorporationStateCountryCode",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Incorporation, State or Country Code",
        "documentation": "Two-character EDGAR code representing the state or country of incorporation."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityInteractiveDataCurrent": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityInteractiveDataCurrent",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Interactive Data Current",
        "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files)."
       }
      }
     },
     "auth_ref": [
      "r870"
     ]
    },
    "dei_EntityPublicFloat": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityPublicFloat",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Public Float",
        "documentation": "The aggregate market value of the voting and non-voting common equity held by non-affiliates computed by reference to the price at which the common equity was last sold, or the average bid and asked price of such common equity, as of the last business day of the registrant's most recently completed second fiscal quarter."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityRegistrantName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityRegistrantName",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Registrant Name",
        "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC."
       }
      }
     },
     "auth_ref": [
      "r793"
     ]
    },
    "dei_EntityShellCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityShellCompany",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Shell Company",
        "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r793"
     ]
    },
    "dei_EntitySmallBusiness": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntitySmallBusiness",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Small Business",
        "documentation": "Indicates that the company is a Smaller Reporting Company (SRC)."
       }
      }
     },
     "auth_ref": [
      "r793"
     ]
    },
    "dei_EntityTaxIdentificationNumber": {
     "xbrltype": "employerIdItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityTaxIdentificationNumber",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Tax Identification Number",
        "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS."
       }
      }
     },
     "auth_ref": [
      "r793"
     ]
    },
    "dei_EntityVoluntaryFilers": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityVoluntaryFilers",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Voluntary Filers",
        "documentation": "Indicate 'Yes' or 'No' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityWellKnownSeasonedIssuer": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityWellKnownSeasonedIssuer",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Well-known Seasoned Issuer",
        "documentation": "Indicate 'Yes' or 'No' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A."
       }
      }
     },
     "auth_ref": [
      "r871"
     ]
    },
    "us-gaap_EquipmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EquipmentMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equipment [Member]",
        "terseLabel": "Equipment",
        "documentation": "Tangible personal property used to produce goods and services."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EquityComponentDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EquityComponentDomain",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureCapitalStockDetails",
      "http://www.innodata-isogen.com/role/DisclosureComprehensiveLossReclassificationsFromAccumulatedOtherComprehensiveLossDetails",
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Component [Domain]",
        "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc."
       }
      }
     },
     "auth_ref": [
      "r21",
      "r205",
      "r231",
      "r232",
      "r233",
      "r254",
      "r255",
      "r256",
      "r258",
      "r264",
      "r266",
      "r279",
      "r324",
      "r325",
      "r394",
      "r484",
      "r485",
      "r486",
      "r514",
      "r515",
      "r538",
      "r539",
      "r540",
      "r541",
      "r542",
      "r543",
      "r546",
      "r556",
      "r558",
      "r559",
      "r560",
      "r561",
      "r562",
      "r574",
      "r640",
      "r641",
      "r642",
      "r659",
      "r713"
     ]
    },
    "inod_EquityPlansMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "EquityPlansMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAdditionalInformationDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionAndRestrictedStockOptionActivityDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to Equity plans.",
        "label": "Equity Plans [Member]",
        "terseLabel": "Equity Plans"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_EquityValuationAssumptionDifferenceFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "EquityValuationAssumptionDifferenceFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Valuation Assumption Difference, Footnote [Text Block]",
        "terseLabel": "Equity Valuation Assumption Difference, Footnote"
       }
      }
     },
     "auth_ref": [
      "r838"
     ]
    },
    "ecd_ErrCompAnalysisTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ErrCompAnalysisTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Erroneous Compensation Analysis [Text Block]",
        "terseLabel": "Erroneous Compensation Analysis"
       }
      }
     },
     "auth_ref": [
      "r801",
      "r813",
      "r823",
      "r849"
     ]
    },
    "ecd_ErrCompRecoveryTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ErrCompRecoveryTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Erroneously Awarded Compensation Recovery [Table]",
        "terseLabel": "Erroneously Awarded Compensation Recovery"
       }
      }
     },
     "auth_ref": [
      "r798",
      "r810",
      "r820",
      "r846"
     ]
    },
    "ecd_ExecutiveCategoryAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ExecutiveCategoryAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Executive Category [Axis]",
        "terseLabel": "Executive Category:"
       }
      }
     },
     "auth_ref": [
      "r844"
     ]
    },
    "us-gaap_FairValueOfFinancialInstrumentsPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueOfFinancialInstrumentsPolicy",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value of Financial Instruments, Policy [Policy Text Block]",
        "terseLabel": "Fair Value of Financial Instruments",
        "documentation": "Disclosure of accounting policy for determining the fair value of financial instruments."
       }
      }
     },
     "auth_ref": [
      "r13",
      "r28"
     ]
    },
    "us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDerivativesFairValueOfDerivativeInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Values Derivatives, Balance Sheet Location, by Derivative Contract Type [Table]",
        "documentation": "Schedule that discloses the location and fair value amounts of derivative instruments (and nonderivative instruments that are designated and qualify as hedging instruments) reported in the statement of financial position."
       }
      }
     },
     "auth_ref": [
      "r108",
      "r110",
      "r116"
     ]
    },
    "us-gaap_FinancingReceivableAllowanceForCreditLossForeignCurrencyTranslation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinancingReceivableAllowanceForCreditLossForeignCurrencyTranslation",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureAccountsReceivableActivityInAllowanceForCreditLossesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Allowance for Loan and Lease Losses, Foreign Currency Translation",
        "terseLabel": "Foreign currency translation adjustment",
        "documentation": "Amount of foreign currency translation gain (loss) which decreases (increases) allowance for credit loss on financing receivable. Excludes net investment in lease."
       }
      }
     },
     "auth_ref": [
      "r905"
     ]
    },
    "inod_FiniteLivedIntangibleAssetExpectedAmortizationThereafter": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "FiniteLivedIntangibleAssetExpectedAmortizationThereafter",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedAmortizationExpenseDetails": {
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedAmortizationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of amortization expense for assets, excluding financial assets and goodwill, lacking physical substance with a finite life expected to be recognized thereafter excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Thereafter",
        "verboseLabel": "Thereafter"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FiniteLivedIntangibleAssetUsefulLife": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetUsefulLife",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Asset, Useful Life",
        "terseLabel": "Estimated useful life of intangibles",
        "documentation": "Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets, Accumulated Amortization",
        "negatedLabel": "Accumulated Amortization",
        "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r212",
      "r343"
     ]
    },
    "inod_FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accumulated amount of foreign currency translation adjustments on assets, excluding financial assets and goodwill, lacking physical substance with a finite life.",
        "label": "Finite-Lived Intangible Assets, Accumulated Foreign Currency Translation Adjustment",
        "terseLabel": "Foreign Currency Translation Adjustment"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedAmortizationExpenseDetails": {
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedAmortizationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year One",
        "verboseLabel": "2024",
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r155"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFive",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedAmortizationExpenseDetails": {
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedAmortizationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Five",
        "verboseLabel": "2028",
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r155"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedAmortizationExpenseDetails": {
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedAmortizationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Four",
        "verboseLabel": "2027",
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r155"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedAmortizationExpenseDetails": {
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedAmortizationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Three",
        "verboseLabel": "2026",
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r155"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedAmortizationExpenseDetails": {
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedAmortizationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Two",
        "verboseLabel": "2025",
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r155"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails",
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets by Major Class [Axis]",
        "documentation": "Information by major type or class of finite-lived intangible assets."
       }
      }
     },
     "auth_ref": [
      "r341",
      "r342",
      "r343",
      "r344",
      "r583",
      "r584"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsGross",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets, Gross",
        "terseLabel": "Gross Carrying Value",
        "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r154",
      "r584"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsLineItems",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails",
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets [Line Items]",
        "terseLabel": "Goodwill and Intangible Assets",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r583"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails",
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets, Major Class Name [Domain]",
        "documentation": "The major class of finite-lived intangible asset (for example, patents, trademarks, copyrights, etc.) A major class is composed of intangible assets that can be grouped together because they are similar, either by their nature or by their use in the operations of a company."
       }
      }
     },
     "auth_ref": [
      "r65",
      "r67"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsNet",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedAmortizationExpenseDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails",
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsEstimatedAmortizationExpenseDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets, Net",
        "totalLabel": "Net Carrying Value",
        "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r154",
      "r583"
     ]
    },
    "inod_ForeignCountriesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "ForeignCountriesMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsLongLivedAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "It represents information pertaining to foreign countries.",
        "label": "Foreign Countries [Member]",
        "verboseLabel": "Total foreign"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ForeignCurrencyContractAssetFairValueDisclosure": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ForeignCurrencyContractAssetFairValueDisclosure",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Foreign Currency Contract, Asset, Fair Value Disclosure",
        "terseLabel": "Outstanding foreign currency forward contracts",
        "documentation": "Fair value portion of asset contracts related to the exchange of different currencies, including, but not limited to, foreign currency options, forward contracts, and swaps."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ForeignCurrencyTransactionGainLossBeforeTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ForeignCurrencyTransactionGainLossBeforeTax",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Foreign Currency Transaction Gain (Loss), before Tax",
        "negatedLabel": "Foreign exchange losses (gains)",
        "documentation": "Amount, before tax, of realized and unrealized gain (loss) from foreign currency transaction."
       }
      }
     },
     "auth_ref": [
      "r551",
      "r552",
      "r553",
      "r554",
      "r710"
     ]
    },
    "us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Foreign Currency Transactions and Translations Policy [Policy Text Block]",
        "terseLabel": "Foreign Currency Translation",
        "documentation": "Disclosure of accounting policy for (1) transactions denominated in a currency other than the reporting enterprise's functional currency, (2) translating foreign currency financial statements that are incorporated into the financial statements of the reporting enterprise by consolidation, combination, or the equity method of accounting, and (3) remeasurement of the financial statements of a foreign reporting enterprise in a hyperinflationary economy."
       }
      }
     },
     "auth_ref": [
      "r550"
     ]
    },
    "inod_ForeignCustomerMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "ForeignCustomerMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "It represents information pertaining to foreign customer.",
        "label": "Foreign Customer [Member]",
        "terseLabel": "Foreign customer"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ForeignExchangeForwardMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ForeignExchangeForwardMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDerivativesFairValueOfDerivativeInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Foreign Exchange Forward [Member]",
        "verboseLabel": "Foreign currency forward contracts",
        "documentation": "Foreign exchange forward traded on an exchange (examples include but are not limited to the International Securities Exchange, Philadelphia Stock Exchange, or the Chicago Mercantile Exchange) for options or future contracts to buy or sell a certain currency, at a specified date, at a fixed exercise exchange rate."
       }
      }
     },
     "auth_ref": [
      "r681",
      "r685",
      "r690",
      "r702",
      "r708",
      "r730",
      "r731",
      "r732",
      "r783"
     ]
    },
    "inod_ForeignOperationsPermanentDifferenceForeignExchangeGainsAndLosses": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "ForeignOperationsPermanentDifferenceForeignExchangeGainsAndLosses",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails": {
       "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations",
       "weight": 1.0,
       "order": 10.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of  foreign exchange gains and losses.",
        "label": "Foreign operations permanent difference - foreign exchange gains and losses",
        "terseLabel": "Foreign operations permanent differences - foreign exchange gains and losses"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery due to Disqualification of Tax Benefits, Amount",
        "terseLabel": "Forgone Recovery due to Disqualification of Tax Benefits, Amount"
       }
      }
     },
     "auth_ref": [
      "r805",
      "r817",
      "r827",
      "r853"
     ]
    },
    "ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ForgoneRecoveryDueToExpenseOfEnforcementAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery due to Expense of Enforcement, Amount",
        "terseLabel": "Forgone Recovery due to Expense of Enforcement, Amount"
       }
      }
     },
     "auth_ref": [
      "r805",
      "r817",
      "r827",
      "r853"
     ]
    },
    "ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ForgoneRecoveryDueToViolationOfHomeCountryLawAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery due to Violation of Home Country Law, Amount",
        "terseLabel": "Forgone Recovery due to Violation of Home Country Law, Amount"
       }
      }
     },
     "auth_ref": [
      "r805",
      "r817",
      "r827",
      "r853"
     ]
    },
    "ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ForgoneRecoveryExplanationOfImpracticabilityTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery, Explanation of Impracticability [Text Block]",
        "terseLabel": "Forgone Recovery, Explanation of Impracticability"
       }
      }
     },
     "auth_ref": [
      "r805",
      "r817",
      "r827",
      "r853"
     ]
    },
    "ecd_ForgoneRecoveryIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "ForgoneRecoveryIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery, Individual Name",
        "terseLabel": "Name"
       }
      }
     },
     "auth_ref": [
      "r805",
      "r817",
      "r827",
      "r853"
     ]
    },
    "inod_FourClientsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "FourClientsMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "It represents the member of four clients.",
        "label": "Four Clients [Member]",
        "terseLabel": "Four customer"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FurnitureAndFixturesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FurnitureAndFixturesMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Furniture and Equipment [Member]",
        "terseLabel": "Furniture and equipment",
        "documentation": "Equipment commonly used in offices and stores that have no permanent connection to the structure of a building or utilities. Examples include, but are not limited to, desks, chairs, tables, and bookcases."
       }
      }
     },
     "auth_ref": []
    },
    "country_GB": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2023",
     "localname": "GB",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsLongLivedAssetsDetails",
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsRevenuesByGeographicRegionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "UNITED KINGDOM",
        "verboseLabel": "United Kingdom"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_GainLossOnTerminationOfLease": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GainLossOnTerminationOfLease",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Gain (Loss) on Termination of Lease",
        "negatedLabel": "Loss on lease termination",
        "documentation": "Amount of gain (loss) on termination of lease before expiration of lease term."
       }
      }
     },
     "auth_ref": [
      "r564"
     ]
    },
    "inod_GermanAndUnitedKingdomSubsidiariesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "GermanAndUnitedKingdomSubsidiariesMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information of German and United Kingdom subsidiaries.",
        "label": "German and United Kingdom Subsidiaries [Member]",
        "terseLabel": "German and United Kingdom subsidiaries"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_Goodwill": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Goodwill",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsChangesInCarryingAmountOfGoodwillDetails",
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsDetails",
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsDetails",
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Goodwill",
        "periodEndLabel": "Balance - December 31, 2023",
        "periodStartLabel": "Balance - January 1, 2023",
        "terseLabel": "Goodwill",
        "verboseLabel": "Goodwill",
        "documentation": "Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized."
       }
      }
     },
     "auth_ref": [
      "r211",
      "r329",
      "r597",
      "r766",
      "r779",
      "r907",
      "r914"
     ]
    },
    "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Goodwill and Intangible Assets"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GoodwillAndIntangibleAssetsDisclosureTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Goodwill and Intangible Assets Disclosure [Text Block]",
        "terseLabel": "Goodwill and Intangible Assets",
        "documentation": "The entire disclosure for goodwill and intangible assets."
       }
      }
     },
     "auth_ref": [
      "r153"
     ]
    },
    "us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GoodwillAndIntangibleAssetsPolicyTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Goodwill and Intangible Assets, Policy [Policy Text Block]",
        "terseLabel": "Goodwill and Other Intangible Assets",
        "documentation": "Disclosure of accounting policy for goodwill and intangible assets. This accounting policy also may address how an entity assesses and measures impairment of goodwill and intangible assets."
       }
      }
     },
     "auth_ref": [
      "r15",
      "r62"
     ]
    },
    "us-gaap_GoodwillForeignCurrencyTranslationGainLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GoodwillForeignCurrencyTranslationGainLoss",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsChangesInCarryingAmountOfGoodwillDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Goodwill, Foreign Currency Translation Gain (Loss)",
        "negatedLabel": "Foreign currency translation adjustment",
        "documentation": "Amount of foreign currency translation gain (loss) which increases (decreases) an asset representing future economic benefits from other assets acquired in a business combination that are not individually identified and separately recognized."
       }
      }
     },
     "auth_ref": [
      "r337"
     ]
    },
    "us-gaap_GoodwillImpairmentLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GoodwillImpairmentLoss",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Goodwill, Impairment Loss",
        "terseLabel": "Goodwill impairment",
        "documentation": "Amount of loss from the write-down of an asset representing the future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized."
       }
      }
     },
     "auth_ref": [
      "r11",
      "r330",
      "r336",
      "r340",
      "r766"
     ]
    },
    "us-gaap_HedgingDesignationAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "HedgingDesignationAxis",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDerivativesFairValueOfDerivativeInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Hedging Designation [Axis]",
        "documentation": "Information by designation of purpose of derivative instrument."
       }
      }
     },
     "auth_ref": [
      "r22",
      "r535"
     ]
    },
    "us-gaap_HedgingDesignationDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "HedgingDesignationDomain",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDerivativesFairValueOfDerivativeInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Hedging Designation [Domain]",
        "documentation": "Designation of purpose of derivative instrument."
       }
      }
     },
     "auth_ref": [
      "r22"
     ]
    },
    "stpr_IL": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/stpr/2023",
     "localname": "IL",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsLongLivedAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ISRAEL",
        "verboseLabel": "Israel"
       }
      }
     },
     "auth_ref": []
    },
    "country_IN": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2023",
     "localname": "IN",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsLongLivedAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "INDIA",
        "terseLabel": "India"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Impairment or Disposal of Long-Lived Assets, Policy [Policy Text Block]",
        "terseLabel": "Long-lived Assets",
        "documentation": "Disclosure of accounting policy for recognizing and measuring the impairment of long-lived assets. An entity also may disclose its accounting policy for long-lived assets to be sold. This policy excludes goodwill and intangible assets."
       }
      }
     },
     "auth_ref": [
      "r0",
      "r158"
     ]
    },
    "us-gaap_InProcessResearchAndDevelopmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InProcessResearchAndDevelopmentMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "In Process Research and Development [Member]",
        "terseLabel": "In process research and development",
        "documentation": "In process investigation of new knowledge useful in developing new product or service or new process or technique or improvement to existing product or process, and translation of knowledge into plan or design for new product or process or for improvement to existing product or process."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesUnitedStatesAndForeignComponentsOfIncomeLossDetails": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesUnitedStatesAndForeignComponentsOfIncomeLossDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income (Loss) from Continuing Operations before Income Taxes, Domestic",
        "verboseLabel": "United States",
        "documentation": "The portion of earnings or loss from continuing operations before income taxes that is attributable to domestic operations."
       }
      }
     },
     "auth_ref": [
      "r250",
      "r520"
     ]
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLoss": {
       "parentTag": "us-gaap_ProfitLoss",
       "weight": 1.0,
       "order": 2.0
      },
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesUnitedStatesAndForeignComponentsOfIncomeLossDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesUnitedStatesAndForeignComponentsOfIncomeLossDetails",
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsDetails",
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income (Loss) From Continuing Operations Before Income Taxes, Extraordinary Items, Noncontrolling Interest",
        "terseLabel": "Income (loss) before provision for income taxes",
        "totalLabel": "Income (loss) before provision for income taxes",
        "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r1",
      "r139",
      "r184",
      "r285",
      "r299",
      "r305",
      "r308",
      "r604",
      "r617",
      "r764"
     ]
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesUnitedStatesAndForeignComponentsOfIncomeLossDetails": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesUnitedStatesAndForeignComponentsOfIncomeLossDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income (Loss) from Continuing Operations before Income Taxes, Foreign",
        "verboseLabel": "Foreign",
        "documentation": "The portion of earnings or loss from continuing operations before income taxes that is attributable to foreign operations, which is defined as Income or Loss generated from operations located outside the entity's country of domicile."
       }
      }
     },
     "auth_ref": [
      "r250",
      "r520"
     ]
    },
    "us-gaap_IncomeStatementAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeStatementAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE LOSS"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxAuthorityAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxAuthorityAxis",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Authority [Axis]",
        "documentation": "Information by tax jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r19"
     ]
    },
    "us-gaap_IncomeTaxAuthorityDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxAuthorityDomain",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Authority [Domain]",
        "documentation": "Agency, division or body classification that levies income taxes, examines tax returns for compliance, or grants exemptions from or makes other decisions pertaining to income taxes."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Taxes"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxDisclosureTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxes"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Disclosure [Text Block]",
        "verboseLabel": "Income Taxes",
        "documentation": "The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information."
       }
      }
     },
     "auth_ref": [
      "r251",
      "r492",
      "r501",
      "r504",
      "r511",
      "r516",
      "r521",
      "r522",
      "r523",
      "r657"
     ]
    },
    "us-gaap_IncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLoss": {
       "parentTag": "us-gaap_ProfitLoss",
       "weight": -1.0,
       "order": 1.0
      },
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesComponentsOfProvisionForIncomeTaxesDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesComponentsOfProvisionForIncomeTaxesDetails",
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Expense (Benefit)",
        "totalLabel": "Provision for income taxes",
        "verboseLabel": "Provision for income taxes",
        "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations."
       }
      }
     },
     "auth_ref": [
      "r190",
      "r203",
      "r265",
      "r266",
      "r293",
      "r499",
      "r517",
      "r627"
     ]
    },
    "us-gaap_IncomeTaxPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxPolicyTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax, Policy [Policy Text Block]",
        "terseLabel": "Income Taxes",
        "documentation": "Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements."
       }
      }
     },
     "auth_ref": [
      "r230",
      "r495",
      "r496",
      "r504",
      "r505",
      "r510",
      "r512",
      "r651"
     ]
    },
    "inod_IncomeTaxesLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "IncomeTaxesLineItems",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Taxes [Line Items]",
        "terseLabel": "Income Taxes"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxesPaid": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxesPaid",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Taxes Paid",
        "terseLabel": "Cash paid for income taxes",
        "documentation": "The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income."
       }
      }
     },
     "auth_ref": [
      "r45",
      "r48"
     ]
    },
    "inod_IncomeTaxesTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "IncomeTaxesTable",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of information relating to income taxes.",
        "label": "Income Taxes [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInAccountsPayableAndAccruedLiabilities",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) In Accounts Payable and Accrued Liabilities",
        "verboseLabel": "Accounts payable, accrued expenses and other",
        "documentation": "The increase (decrease) during the reporting period in the amounts payable to vendors for goods and services received and the amount of obligations and expenses incurred but not paid."
       }
      }
     },
     "auth_ref": [
      "r10"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccountsReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInAccountsReceivable",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase Decrease In Accounts Receivable",
        "negatedLabel": "Accounts receivable",
        "documentation": "The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services."
       }
      }
     },
     "auth_ref": [
      "r10"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccruedTaxesPayable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInAccruedTaxesPayable",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase Decrease In Accrued Taxes Payable",
        "terseLabel": "Income and other taxes",
        "documentation": "The increase (decrease) during the reporting period of all taxes owed but not paid, including income, property and other taxes."
       }
      }
     },
     "auth_ref": [
      "r892"
     ]
    },
    "us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInEmployeeRelatedLiabilities",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase Decrease In Employee Related Liabilities",
        "terseLabel": "Accrued salaries, wages and related benefits",
        "documentation": "The increase (decrease) during the reporting period in the aggregate amount of obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits."
       }
      }
     },
     "auth_ref": [
      "r10"
     ]
    },
    "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInOperatingCapitalAbstract",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase Decrease In Operating Capital [Abstract]",
        "terseLabel": "Changes in operating assets and liabilities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncreaseDecreaseInOtherOperatingAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInOtherOperatingAssets",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase Decrease In Other Operating Assets",
        "negatedLabel": "Other assets",
        "documentation": "Amount of increase (decrease) in operating assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r10"
     ]
    },
    "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase Decrease In Prepaid Deferred Expense and Other Assets",
        "negatedLabel": "Prepaid expenses and other current assets",
        "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r10"
     ]
    },
    "ecd_IndividualAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "IndividualAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure",
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure",
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements",
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Individual [Axis]",
        "terseLabel": "Individual:"
       }
      }
     },
     "auth_ref": [
      "r808",
      "r817",
      "r827",
      "r844",
      "r853",
      "r857",
      "r865"
     ]
    },
    "ecd_InsiderTradingArrLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "InsiderTradingArrLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Arrangements [Line Items]",
        "terseLabel": "Insider Trading Arrangements:"
       }
      }
     },
     "auth_ref": [
      "r863"
     ]
    },
    "ecd_InsiderTradingPoliciesProcLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "InsiderTradingPoliciesProcLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Policies and Procedures [Line Items]",
        "terseLabel": "Insider Trading Policies and Procedures:"
       }
      }
     },
     "auth_ref": [
      "r797",
      "r869"
     ]
    },
    "ecd_InsiderTrdPoliciesProcAdoptedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "InsiderTrdPoliciesProcAdoptedFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Policies and Procedures Adopted [Flag]",
        "terseLabel": "Insider Trading Policies and Procedures Adopted"
       }
      }
     },
     "auth_ref": [
      "r797",
      "r869"
     ]
    },
    "ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "InsiderTrdPoliciesProcNotAdoptedTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Policies and Procedures Not Adopted [Text Block]",
        "terseLabel": "Insider Trading Policies and Procedures Not Adopted"
       }
      }
     },
     "auth_ref": [
      "r797",
      "r869"
     ]
    },
    "us-gaap_IntangibleAssetsNetExcludingGoodwill": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IntangibleAssetsNetExcludingGoodwill",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Intangible Assets, Current",
        "verboseLabel": "Intangibles, net",
        "documentation": "Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges."
       }
      }
     },
     "auth_ref": [
      "r63",
      "r66"
     ]
    },
    "us-gaap_InterestIncomeExpenseNonoperatingNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InterestIncomeExpenseNonoperatingNet",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLoss": {
       "parentTag": "us-gaap_CostsAndExpenses",
       "weight": -1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest Income (Expense), Nonoperating, Net",
        "negatedLabel": "Interest expense, net",
        "documentation": "The net amount of nonoperating interest income (expense)."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InterestPaidNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InterestPaidNet",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest Paid, Excluding Capitalized Interest, Operating Activities",
        "terseLabel": "Cash paid for interest",
        "documentation": "Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount."
       }
      }
     },
     "auth_ref": [
      "r241",
      "r244",
      "r245"
     ]
    },
    "inod_InterestRateDescriptionLitigation": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "InterestRateDescriptionLitigation",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureCommitmentsAndContingenciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Description of the interest rate relating to Litigation",
        "label": "Interest Rate Description Litigation",
        "terseLabel": "Interest rate description litigation"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InvestmentPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InvestmentPolicyTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Investment, Policy [Policy Text Block]",
        "terseLabel": "Short term Investments-other",
        "documentation": "Disclosure of accounting policy for investment in financial asset."
       }
      }
     },
     "auth_ref": [
      "r626",
      "r647",
      "r648",
      "r649",
      "r650",
      "r721",
      "r722"
     ]
    },
    "inod_July2019Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "July2019Member",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureCapitalStockDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This member stands for repurchased share under the July 2019 authorization.",
        "label": "July 2019 [Member]",
        "terseLabel": "July 2019"
       }
      }
     },
     "auth_ref": []
    },
    "country_LK": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2023",
     "localname": "LK",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsLongLivedAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SRI LANKA",
        "verboseLabel": "Sri Lanka"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LeaseholdImprovementsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LeaseholdImprovementsMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Leasehold Improvements [Member]",
        "terseLabel": "Leasehold improvements",
        "documentation": "Additions or improvements to assets held under a lease arrangement."
       }
      }
     },
     "auth_ref": [
      "r157"
     ]
    },
    "us-gaap_LesseeDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Leases"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LesseeLeaseDescriptionLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeLeaseDescriptionLineItems",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesDetails",
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesFinancialStatementsRelatedToOperatingLeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Lease, Description [Line Items]",
        "terseLabel": "Operating Leases",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r568"
     ]
    },
    "us-gaap_LesseeLeaseDescriptionTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeLeaseDescriptionTable",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesDetails",
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesFinancialStatementsRelatedToOperatingLeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Lease, Description [Table]",
        "documentation": "Disclosure of information about lessee's leases."
       }
      }
     },
     "auth_ref": [
      "r568"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, Maturity [Table Text Block]",
        "terseLabel": "Schedule of net present value of operating lease liability",
        "documentation": "Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position."
       }
      }
     },
     "auth_ref": [
      "r978"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDue",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, Payments, Due",
        "totalLabel": "Total lease payments",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease."
       }
      }
     },
     "auth_ref": [
      "r572"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year One",
        "terseLabel": "2024",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r572"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFive",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, Payments, Due Year Five",
        "terseLabel": "2028",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r572"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, Payments, Due Year Four",
        "terseLabel": "2027",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r572"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, Payments, Due Year Three",
        "verboseLabel": "2026",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r572"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, Payments, Due Year Two",
        "terseLabel": "2025",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r572"
     ]
    },
    "inod_LesseeOperatingLeaseLiabilityToBePaidThereafter": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "LesseeOperatingLeaseLiabilityToBePaidThereafter",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease due thereafter. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Thereafter",
        "terseLabel": "2029 and thereafter"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, Undiscounted Excess Amount",
        "negatedLabel": "Less: Interest",
        "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease."
       }
      }
     },
     "auth_ref": [
      "r572"
     ]
    },
    "us-gaap_LesseeOperatingLeaseTermOfContract": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseTermOfContract",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Term of Contract",
        "terseLabel": "Lease agreements term",
        "documentation": "Term of lessee's operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r977"
     ]
    },
    "us-gaap_LesseeOperatingLeasesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeasesTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeases"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Leases [Text Block]",
        "terseLabel": "Operating Leases",
        "documentation": "The entire disclosure for operating leases of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of operating lease liability."
       }
      }
     },
     "auth_ref": [
      "r563"
     ]
    },
    "us-gaap_LessorLeasesPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LessorLeasesPolicyTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessor, Leases [Policy Text Block]",
        "terseLabel": "Accounting for Leases",
        "documentation": "Disclosure of accounting policy for leasing arrangements entered into by lessor."
       }
      }
     },
     "auth_ref": [
      "r197",
      "r198",
      "r199",
      "r573"
     ]
    },
    "us-gaap_Liabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Liabilities",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities",
        "totalLabel": "Total liabilities",
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future."
       }
      }
     },
     "auth_ref": [
      "r32",
      "r249",
      "r322",
      "r354",
      "r355",
      "r357",
      "r358",
      "r359",
      "r361",
      "r363",
      "r365",
      "r366",
      "r527",
      "r531",
      "r532",
      "r549",
      "r673",
      "r763",
      "r791",
      "r926",
      "r983",
      "r984"
     ]
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesAndStockholdersEquity",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities and Stockholders Equity",
        "totalLabel": "Total liabilities, non-controlling interests and stockholders' equity",
        "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any."
       }
      }
     },
     "auth_ref": [
      "r135",
      "r183",
      "r614",
      "r779",
      "r896",
      "r904",
      "r973"
     ]
    },
    "us-gaap_LiabilitiesAndStockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesAndStockholdersEquityAbstract",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities and Equity [Abstract]",
        "verboseLabel": "LIABILITIES, NON-CONTROLLING INTERESTS AND STOCKHOLDERS' EQUITY"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities, Current, Total",
        "totalLabel": "Total current liabilities",
        "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r34",
      "r209",
      "r249",
      "r322",
      "r354",
      "r355",
      "r357",
      "r358",
      "r359",
      "r361",
      "r363",
      "r365",
      "r366",
      "r527",
      "r531",
      "r532",
      "r549",
      "r779",
      "r926",
      "r983",
      "r984"
     ]
    },
    "us-gaap_LiabilitiesCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesCurrentAbstract",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities, Current [Abstract]",
        "verboseLabel": "Current liabilities:"
       }
      }
     },
     "auth_ref": []
    },
    "inod_LicensesObligationsAmountPayableAnnually": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "LicensesObligationsAmountPayableAnnually",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLongTermObligationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount payable annually over the term of the license agreement.",
        "label": "Licenses Obligations, Amount Payable Annually",
        "terseLabel": "Microsoft licenses, Amount payable annually over the term of the agreement"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LineOfCreditFacilityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LineOfCreditFacilityAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Line of Credit"
       }
      }
     },
     "auth_ref": []
    },
    "inod_LineOfCreditFacilityCovenantTermsThresholdMinimumRequiredFixedChargeCoverageRatio": {
     "xbrltype": "pureItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "LineOfCreditFacilityCovenantTermsThresholdMinimumRequiredFixedChargeCoverageRatio",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLineOfCreditDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Threshold minimum required fixed charge coverage ratio under the line of credit facility.",
        "label": "Line of Credit Facility, Covenant Terms, Threshold Minimum Required Fixed Charge Coverage Ratio",
        "terseLabel": "Threshold minimum fixed charge coverage ratio required to be maintained by December 31, 2023"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LineOfCreditFacilityCurrentBorrowingCapacity",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLineOfCreditDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Line of Credit Facility, Current Borrowing Capacity",
        "terseLabel": "Borrowing base calculation",
        "documentation": "Amount of current borrowing capacity under the credit facility considering any current restrictions on the amount that could be borrowed (for example, borrowings may be limited by the amount of current assets), but without considering any amounts currently outstanding under the facility."
       }
      }
     },
     "auth_ref": [
      "r30"
     ]
    },
    "us-gaap_LineOfCreditFacilityLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LineOfCreditFacilityLineItems",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLineOfCreditDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Line of Credit Facility [Line Items]",
        "terseLabel": "Line of Credit",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r895"
     ]
    },
    "inod_LineOfCreditFacilityMaximumAmountOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "LineOfCreditFacilityMaximumAmountOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLineOfCreditDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Maximum amount of eligible foreign accounts considered for determination of borrowing base under the line of credit facility.",
        "label": "Line of Credit Facility, Maximum Amount Of Eligible Foreign Accounts Considered For Determination Of Borrowing Base",
        "terseLabel": "Maximum amount of eligible foreign accounts considered for determination of borrowing base"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LineOfCreditFacilityMaximumBorrowingCapacity",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLineOfCreditDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Line of Credit Facility, Maximum Borrowing Capacity",
        "terseLabel": "Maximum borrowing capacity",
        "documentation": "Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility."
       }
      }
     },
     "auth_ref": [
      "r30"
     ]
    },
    "inod_LineOfCreditFacilityPercentageOfEligibleAccountsConsideredForDeterminationOfBorrowingBase": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "LineOfCreditFacilityPercentageOfEligibleAccountsConsideredForDeterminationOfBorrowingBase",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLineOfCreditDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of eligible accounts considered for determination of borrowing base under the line of credit facility.",
        "label": "Line of Credit Facility, Percentage Of Eligible Accounts Considered For Determination Of Borrowing Base",
        "terseLabel": "Percentage of eligible accounts considered for determination of borrowing base"
       }
      }
     },
     "auth_ref": []
    },
    "inod_LineOfCreditFacilityPercentageOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "LineOfCreditFacilityPercentageOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLineOfCreditDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of eligible foreign accounts considered for determination of borrowing base under the line of credit facility.",
        "label": "Line of Credit Facility, Percentage Of Eligible Foreign Accounts Considered For Determination Of Borrowing Base",
        "terseLabel": "Percentage of eligible foreign accounts considered for determination of borrowing base"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LineOfCreditFacilityTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LineOfCreditFacilityTable",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLineOfCreditDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Line of Credit Facility [Table]",
        "documentation": "A table or schedule providing information pertaining to short-term or long-term contractual arrangements with lenders, including letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line."
       }
      }
     },
     "auth_ref": [
      "r30",
      "r895"
     ]
    },
    "us-gaap_LitigationReserve": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LitigationReserve",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureCommitmentsAndContingenciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Estimated Litigation Liability",
        "verboseLabel": "Estimated litigation liability",
        "documentation": "Aggregate carrying amount of the estimated litigation liability for known or estimated probable loss from litigation, which may include attorneys' fees and other litigation costs."
       }
      }
     },
     "auth_ref": [
      "r35",
      "r924"
     ]
    },
    "us-gaap_LitigationSettlementExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LitigationSettlementExpense",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureCommitmentsAndContingenciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Litigation Settlement, Expense",
        "terseLabel": "Litigation settlement expense",
        "documentation": "Amount of litigation expense, including but not limited to legal, forensic, accounting, and investigative fees."
       }
      }
     },
     "auth_ref": []
    },
    "dei_LocalPhoneNumber": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "LocalPhoneNumber",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Local Phone Number",
        "documentation": "Local phone number for entity."
       }
      }
     },
     "auth_ref": []
    },
    "inod_LongTermObligationsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "LongTermObligationsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-term obligations"
       }
      }
     },
     "auth_ref": []
    },
    "inod_LongTermObligationsDisclosureTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "LongTermObligationsDisclosureTableTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLongTermObligationsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The tabular disclosure for long-term obligations.",
        "label": "Long-Term Obligations, Disclosure [Table Text Block]",
        "terseLabel": "Schedule of total long-term obligations"
       }
      }
     },
     "auth_ref": []
    },
    "inod_LongTermObligationsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "LongTermObligationsDisclosureTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLongTermObligations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure for long-term obligations.",
        "label": "Long-Term Obligations, Disclosure [Text Block]",
        "terseLabel": "Long-term obligations"
       }
      }
     },
     "auth_ref": []
    },
    "inod_LongTermOperatingLeaseMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "LongTermOperatingLeaseMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesFinancialStatementsRelatedToOperatingLeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This member represents of long term operating lease.",
        "label": "Long Term Operating Lease [Member]",
        "terseLabel": "Long-term operating leases"
       }
      }
     },
     "auth_ref": []
    },
    "srt_MajorCustomersAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "MajorCustomersAxis",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Major Customers [Axis]"
       }
      }
     },
     "auth_ref": [
      "r314",
      "r769",
      "r931",
      "r992",
      "r993"
     ]
    },
    "srt_MaximumMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "MaximumMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDetails",
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDetails",
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesDetails",
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsActuarialAssumptionsDetails",
      "http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentAdditionalInformationDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsWeightedAverageFairValuesAndAssumptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Maximum [Member]",
        "terseLabel": "Maximum"
       }
      }
     },
     "auth_ref": [
      "r350",
      "r351",
      "r352",
      "r353",
      "r445",
      "r581",
      "r639",
      "r665",
      "r666",
      "r719",
      "r723",
      "r725",
      "r726",
      "r734",
      "r751",
      "r752",
      "r765",
      "r767",
      "r772",
      "r780",
      "r930",
      "r985",
      "r986",
      "r987",
      "r988",
      "r989",
      "r990"
     ]
    },
    "ecd_MeasureAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "MeasureAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Measure [Axis]",
        "terseLabel": "Measure:"
       }
      }
     },
     "auth_ref": [
      "r836"
     ]
    },
    "ecd_MeasureName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "MeasureName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Measure Name",
        "terseLabel": "Name"
       }
      }
     },
     "auth_ref": [
      "r836"
     ]
    },
    "inod_MicrosoftLicensesObligations": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "MicrosoftLicensesObligations",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureLongTermObligationsDetails": {
       "parentTag": "inod_TotalLongTermObligations",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLongTermObligationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of Microsoft licenses obligations as of balance sheet date.",
        "label": "Microsoft Licenses Obligations",
        "terseLabel": "Microsoft licenses"
       }
      }
     },
     "auth_ref": []
    },
    "srt_MinimumMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "MinimumMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDetails",
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDetails",
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesDetails",
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsActuarialAssumptionsDetails",
      "http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentAdditionalInformationDetails",
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsAdditionalInformationDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsWeightedAverageFairValuesAndAssumptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Minimum [Member]",
        "terseLabel": "Minimum"
       }
      }
     },
     "auth_ref": [
      "r350",
      "r351",
      "r352",
      "r353",
      "r445",
      "r581",
      "r639",
      "r665",
      "r666",
      "r719",
      "r723",
      "r725",
      "r726",
      "r734",
      "r751",
      "r752",
      "r765",
      "r767",
      "r772",
      "r780",
      "r930",
      "r985",
      "r986",
      "r987",
      "r988",
      "r989",
      "r990"
     ]
    },
    "ecd_MnpiDiscTimedForCompValFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "MnpiDiscTimedForCompValFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "MNPI Disclosure Timed for Compensation Value [Flag]",
        "terseLabel": "MNPI Disclosure Timed for Compensation Value"
       }
      }
     },
     "auth_ref": [
      "r856"
     ]
    },
    "us-gaap_MoneyMarketFundsAtCarryingValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "MoneyMarketFundsAtCarryingValue",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureShortTermInvestmentsOtherDetails": {
       "parentTag": "us-gaap_OtherShortTermInvestments",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureShortTermInvestmentsOtherDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Money Market Funds, at Carrying Value",
        "terseLabel": "Treasury bills",
        "documentation": "Investment in short-term money-market instruments (such as commercial paper, banker's acceptances, repurchase agreements, government securities, certificates of deposit, and so forth) which are highly liquid (that is, readily convertible to known amounts of cash) and so near their maturity that they present an insignificant risk of changes in value because of changes in interest rates. Generally, only investments with original maturities of three months or less qualify as cash equivalents by definition. Original maturity means an original maturity to the entity holding the investment. For example, both a three-month US Treasury bill and a three-year Treasury note purchased three months from maturity qualify as cash equivalents. However, a Treasury note purchased three-years ago does not become a cash equivalent when its remaining maturity is three months."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_MtrlTermsOfTrdArrTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "MtrlTermsOfTrdArrTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Material Terms of Trading Arrangement [Text Block]",
        "terseLabel": "Material Terms of Trading Arrangement"
       }
      }
     },
     "auth_ref": [
      "r864"
     ]
    },
    "country_NL": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2023",
     "localname": "NL",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsRevenuesByGeographicRegionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "NETHERLANDS",
        "verboseLabel": "The Netherlands"
       }
      }
     },
     "auth_ref": []
    },
    "srt_NameOfMajorCustomerDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "NameOfMajorCustomerDomain",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Name Of Major Customer [Domain]"
       }
      }
     },
     "auth_ref": [
      "r314",
      "r769",
      "r931",
      "r992",
      "r993"
     ]
    },
    "ecd_NamedExecutiveOfficersFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NamedExecutiveOfficersFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Named Executive Officers, Footnote [Text Block]",
        "terseLabel": "Named Executive Officers, Footnote"
       }
      }
     },
     "auth_ref": [
      "r837"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInFinancingActivities",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Financing Activities",
        "totalLabel": "Net cash provided by (used in) financing activities",
        "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit."
       }
      }
     },
     "auth_ref": [
      "r243"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Financing Activities [Abstract]",
        "verboseLabel": "Cash flows from financing activities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInInvestingActivities",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Investing Activities",
        "totalLabel": "Net cash used in investing activities",
        "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets."
       }
      }
     },
     "auth_ref": [
      "r243"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Investing Activities [Abstract]",
        "verboseLabel": "Cash flows from investing activities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInOperatingActivities",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net cash provided by (used in) operating activities",
        "totalLabel": "Net cash provided by (used in) operating activities",
        "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities."
       }
      }
     },
     "auth_ref": [
      "r146",
      "r147",
      "r148"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Operating Activities [Abstract]",
        "verboseLabel": "Cash flows from operating activities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetIncomeLoss",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfStockholdersEquity",
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Income (Loss)",
        "terseLabel": "Net Income (Loss)",
        "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent."
       }
      }
     },
     "auth_ref": [
      "r140",
      "r148",
      "r185",
      "r207",
      "r225",
      "r228",
      "r233",
      "r249",
      "r257",
      "r259",
      "r260",
      "r261",
      "r262",
      "r265",
      "r266",
      "r271",
      "r285",
      "r299",
      "r305",
      "r308",
      "r322",
      "r354",
      "r355",
      "r357",
      "r358",
      "r359",
      "r361",
      "r363",
      "r365",
      "r366",
      "r548",
      "r549",
      "r620",
      "r695",
      "r711",
      "r712",
      "r764",
      "r789",
      "r926"
     ]
    },
    "us-gaap_NetIncomeLossAttributableToNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetIncomeLossAttributableToNoncontrollingInterest",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLoss": {
       "parentTag": "inod_NetIncomeLossAttributableToParent1",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Income Loss Attributable To Noncontrolling Interest",
        "verboseLabel": "Income (loss) attributable to non-controlling interests",
        "documentation": "Amount of Net Income (Loss) attributable to noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r103",
      "r177",
      "r225",
      "r228",
      "r265",
      "r266",
      "r619",
      "r889"
     ]
    },
    "inod_NetIncomeLossAttributableToParent1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "NetIncomeLossAttributableToParent1",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLoss": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLossPerShareDetails",
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.",
        "label": "Net Income (Loss) Attributable to Parent 1",
        "terseLabel": "Net loss attributable to Innodata Inc. and Subsidiaries",
        "totalLabel": "Net Loss attributable to Innodata Inc. and Subsidiaries"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "New Accounting Pronouncements, Policy [Policy Text Block]",
        "terseLabel": "Recent Accounting Pronouncements",
        "documentation": "Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_NonGaapMeasureDescriptionTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NonGaapMeasureDescriptionTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-GAAP Measure Description [Text Block]",
        "terseLabel": "Non-GAAP Measure Description"
       }
      }
     },
     "auth_ref": [
      "r836"
     ]
    },
    "ecd_NonNeosMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NonNeosMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-NEOs [Member]",
        "terseLabel": "Non-NEOs"
       }
      }
     },
     "auth_ref": [
      "r805",
      "r817",
      "r827",
      "r844",
      "r853"
     ]
    },
    "ecd_NonPeoNeoAvgCompActuallyPaidAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NonPeoNeoAvgCompActuallyPaidAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-PEO NEO Average Compensation Actually Paid Amount",
        "terseLabel": "Non-PEO NEO Average Compensation Actually Paid Amount"
       }
      }
     },
     "auth_ref": [
      "r834"
     ]
    },
    "ecd_NonPeoNeoAvgTotalCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NonPeoNeoAvgTotalCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-PEO NEO Average Total Compensation Amount",
        "terseLabel": "Non-PEO NEO Average Total Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r833"
     ]
    },
    "ecd_NonPeoNeoMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NonPeoNeoMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-PEO NEO [Member]",
        "terseLabel": "Non-PEO NEO"
       }
      }
     },
     "auth_ref": [
      "r844"
     ]
    },
    "ecd_NonRule10b51ArrAdoptedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NonRule10b51ArrAdoptedFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-Rule 10b5-1 Arrangement Adopted [Flag]",
        "terseLabel": "Non-Rule 10b5-1 Arrangement Adopted"
       }
      }
     },
     "auth_ref": [
      "r864"
     ]
    },
    "ecd_NonRule10b51ArrTrmntdFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NonRule10b51ArrTrmntdFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-Rule 10b5-1 Arrangement Terminated [Flag]",
        "terseLabel": "Non-Rule 10b5-1 Arrangement Terminated"
       }
      }
     },
     "auth_ref": [
      "r864"
     ]
    },
    "us-gaap_NonUsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NonUsMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-US [Member]",
        "terseLabel": "Non-US",
        "documentation": "Countries excluding the United States of America (US)."
       }
      }
     },
     "auth_ref": [
      "r999",
      "r1000",
      "r1001",
      "r1002"
     ]
    },
    "us-gaap_NoncurrentAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NoncurrentAssets",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsLongLivedAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-Lived Assets",
        "verboseLabel": "Long - lived assets",
        "documentation": "Long-lived assets other than financial instruments, long-term customer relationships of a financial institution, mortgage and other servicing rights, deferred policy acquisition costs, and deferred tax assets."
       }
      }
     },
     "auth_ref": [
      "r313"
     ]
    },
    "inod_NoncurrentPortionOfLongTermObligations": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "NoncurrentPortionOfLongTermObligations",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 2.0
      },
      "http://www.innodata-isogen.com/role/DisclosureLongTermObligationsDetailsCalc2": {
       "parentTag": "inod_TotalLongTermObligations",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLongTermObligationsDetails",
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The non-current portion of long-term obligations of the entity.",
        "label": "Noncurrent Portion Of Long-Term Obligations",
        "terseLabel": "Long-term obligations, net of current portion",
        "verboseLabel": "Totals"
       }
      }
     },
     "auth_ref": []
    },
    "inod_NumberOfClient": {
     "xbrltype": "integerItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "NumberOfClient",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents number of clients.",
        "label": "Number of Clients",
        "terseLabel": "Number of clients"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NumberOfReportableSegments": {
     "xbrltype": "integerItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NumberOfReportableSegments",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDetails",
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Number of Reportable Segments",
        "terseLabel": "Number of reporting segments",
        "documentation": "Number of segments reported by the entity. A reportable segment is a component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's financial statements."
       }
      }
     },
     "auth_ref": [
      "r902"
     ]
    },
    "inod_NumberOfSharesEligibleToReceiveForEachFullyVestedRsu": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "NumberOfSharesEligibleToReceiveForEachFullyVestedRsu",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents number of shares eligible to receive for each fully vested RSU.",
        "label": "Number Of Shares Eligible To Receive For Each Fully Vested RSU",
        "terseLabel": "Number of shares eligible to receive for each fully vested RSU"
       }
      }
     },
     "auth_ref": []
    },
    "inod_NumberOfVotesForEachShareOfCommonStock": {
     "xbrltype": "integerItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "NumberOfVotesForEachShareOfCommonStock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureCapitalStockDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the number of votes for each share of common stock of the entity.",
        "label": "Number Of Votes For Each Share Of Common Stock",
        "terseLabel": "Number of votes per share"
       }
      }
     },
     "auth_ref": []
    },
    "inod_OneClientMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "OneClientMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "It represents the member of one client.",
        "label": "One Client [Member]",
        "terseLabel": "One customer"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingLeaseExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseExpense",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesFinancialStatementsRelatedToOperatingLeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Expense",
        "terseLabel": "Total rent expense",
        "documentation": "Amount of operating lease expense. Excludes sublease income."
       }
      }
     },
     "auth_ref": [
      "r976"
     ]
    },
    "us-gaap_OperatingLeaseLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseLiability",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Liability",
        "totalLabel": "Total",
        "verboseLabel": "Net present value of lease liabilities",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease."
       }
      }
     },
     "auth_ref": [
      "r566"
     ]
    },
    "us-gaap_OperatingLeaseLiabilityCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseLiabilityCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails": {
       "parentTag": "us-gaap_OperatingLeaseLiability",
       "weight": 1.0,
       "order": 1.0
      },
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails",
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Liability, Current",
        "terseLabel": "Operating lease liability - current portion",
        "verboseLabel": "Current portion",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current."
       }
      }
     },
     "auth_ref": [
      "r566"
     ]
    },
    "us-gaap_OperatingLeaseLiabilityNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseLiabilityNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails": {
       "parentTag": "us-gaap_OperatingLeaseLiability",
       "weight": 1.0,
       "order": 2.0
      },
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesNetPresentValueOfOperatingLeaseLiabilityDetails",
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Liability, Noncurrent",
        "terseLabel": "Operating lease liability, net of current portion",
        "verboseLabel": "Long-term portion",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent."
       }
      }
     },
     "auth_ref": [
      "r566"
     ]
    },
    "us-gaap_OperatingLeasePayments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeasePayments",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Payments",
        "terseLabel": "Cash paid for operating leases",
        "documentation": "Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use."
       }
      }
     },
     "auth_ref": [
      "r567",
      "r569"
     ]
    },
    "us-gaap_OperatingLeaseRightOfUseAsset": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseRightOfUseAsset",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsAdditionalInformationDetails",
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Right-of-Use Asset",
        "terseLabel": "Right-of-use-asset, net",
        "documentation": "Amount of lessee's right to use underlying asset under operating lease."
       }
      }
     },
     "auth_ref": [
      "r565"
     ]
    },
    "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseWeightedAverageDiscountRatePercent",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesWeightedAverageRemainingLeaseTermsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Weighted Average Discount Rate, Percent",
        "terseLabel": "Weighted-average discount rate",
        "documentation": "Weighted average discount rate for operating lease calculated at point in time."
       }
      }
     },
     "auth_ref": [
      "r571",
      "r778"
     ]
    },
    "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesWeightedAverageRemainingLeaseTermsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Weighted Average Remaining Lease Term",
        "terseLabel": "Weighted-average lease term remaining (in months)",
        "documentation": "Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r570",
      "r778"
     ]
    },
    "us-gaap_OperatingLossCarryforwards": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLossCarryforwards",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Loss Carryforwards",
        "terseLabel": "Operating loss carryforwards",
        "documentation": "Amount of operating loss carryforward, before tax effects, available to reduce future taxable income under enacted tax laws."
       }
      }
     },
     "auth_ref": [
      "r94"
     ]
    },
    "us-gaap_OperatingSegmentsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingSegmentsMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Segments [Member]",
        "terseLabel": "Operating Segments",
        "documentation": "Identifies components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity."
       }
      }
     },
     "auth_ref": [
      "r298",
      "r299",
      "r300",
      "r301",
      "r302",
      "r308"
     ]
    },
    "us-gaap_OptionIndexedToIssuersEquityEquityAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OptionIndexedToIssuersEquityEquityAxis",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAdditionalInformationDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Option Indexed to Issuer's Equity [Axis]",
        "documentation": "Information by type of options indexed to an issuer's equity."
       }
      }
     },
     "auth_ref": [
      "r69",
      "r117",
      "r118",
      "r179"
     ]
    },
    "us-gaap_OptionIndexedToIssuersEquityTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OptionIndexedToIssuersEquityTypeDomain",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAdditionalInformationDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Option Indexed to Issuers Equity, Type [Domain]",
        "documentation": "Description of the type of freestanding contract issued by a Company that is indexed to, and potentially settled in, a Company's own stock. Specifically, the pertinent rights and privileges of the securities outstanding."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Organization, Consolidation, Basis of Presentation, Business Description and Accounting Policies [Text Block]",
        "terseLabel": "Description of Business and Summary of Significant Accounting Estimates and Policies",
        "documentation": "The entire disclosure for the general note to the financial statements for the reporting entity which may include, descriptions of the basis of presentation, business description, significant accounting policies, consolidations, reclassifications, new pronouncements not yet adopted and changes in accounting principles."
       }
      }
     },
     "auth_ref": [
      "r149",
      "r150",
      "r151",
      "r175"
     ]
    },
    "us-gaap_OtherAssetsNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherAssetsNoncurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Assets Noncurrent",
        "verboseLabel": "Other assets",
        "documentation": "Amount of noncurrent assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r213"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureComprehensiveLossReclassificationsFromAccumulatedOtherComprehensiveLossDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Comprehensive Income (Loss), before Reclassifications, Net of Tax",
        "terseLabel": "Other comprehensive income (loss) before reclassifications, net of taxes",
        "documentation": "Amount after tax, before reclassification adjustments of other comprehensive income (loss)."
       }
      }
     },
     "auth_ref": [
      "r27",
      "r42",
      "r232",
      "r556",
      "r559",
      "r562",
      "r887"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncomeLossCalc2": {
       "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTax",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLoss",
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Comprehensive Income (Loss), Derivatives Qualifying As Hedges, Net Of Tax",
        "terseLabel": "Change in fair value of derivatives, net of taxes",
        "verboseLabel": "Change in fair value of derivatives, net of taxes",
        "documentation": "Amount, after tax and reclassification, of gain (loss) from derivative instrument designated and qualifying as cash flow hedge included in assessment of hedge effectiveness."
       }
      }
     },
     "auth_ref": [
      "r222",
      "r223"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDerivativesContractsDesignatedAsCashFlowHedgesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Comprehensive Income (Loss), Unrealized Gain (Loss) on Derivatives Arising During Period, before Tax",
        "verboseLabel": "Net gain (loss) recognized in OCI",
        "documentation": "Amount, before tax and reclassification, of gain (loss) from derivative instrument designated and qualifying cash flow hedge included in assessment of hedge effectiveness."
       }
      }
     },
     "auth_ref": [
      "r222",
      "r223",
      "r533",
      "r534",
      "r537"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncomeLossCalc2": {
       "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTax",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLoss",
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax",
        "terseLabel": "Foreign currency translation adjustment",
        "verboseLabel": "Foreign currency translation adjustment",
        "documentation": "Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature."
       }
      }
     },
     "auth_ref": [
      "r4"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherComprehensiveIncomeLossNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncomeLossCalc2": {
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Comprehensive Income (Loss), Net of Tax, Total",
        "totalLabel": "Other comprehensive income",
        "documentation": "Amount after tax and reclassification adjustments of other comprehensive income (loss)."
       }
      }
     },
     "auth_ref": [
      "r21",
      "r27",
      "r226",
      "r229",
      "r235",
      "r556",
      "r557",
      "r562",
      "r599",
      "r621",
      "r887",
      "r888"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncomeLossCalc2": {
       "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTax",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLoss",
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Comprehensive Income (Loss), Pension and Other Postretirement Benefit Plans, Adjustment, Net Of Tax",
        "negatedLabel": "Pension liability adjustment, net of taxes",
        "documentation": "Amount, after tax and reclassification adjustment, of (increase) decrease in accumulated other comprehensive income for defined benefit plan."
       }
      }
     },
     "auth_ref": [
      "r7",
      "r137"
     ]
    },
    "ecd_OtherPerfMeasureAmt": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "OtherPerfMeasureAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Performance Measure, Amount",
        "terseLabel": "Other Performance Measure, Amount"
       }
      }
     },
     "auth_ref": [
      "r836"
     ]
    },
    "inod_OtherPrincipallyEuropeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "OtherPrincipallyEuropeMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsRevenuesByGeographicRegionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "It represents information pertaining to other principally Europe segment.",
        "label": "Other Principally Europe [Member]",
        "verboseLabel": "Others - principally Europe"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherSellingGeneralAndAdministrativeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherSellingGeneralAndAdministrativeExpense",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesStockBasedCompensationDetails": {
       "parentTag": "us-gaap_ShareBasedCompensation",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesStockBasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Selling, General and Administrative Expense",
        "terseLabel": "Selling and administrative expenses",
        "documentation": "Amount of selling, general and administrative expense classified as other."
       }
      }
     },
     "auth_ref": [
      "r144"
     ]
    },
    "us-gaap_OtherShortTermInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherShortTermInvestments",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 2.0
      },
      "http://www.innodata-isogen.com/role/DisclosureShortTermInvestmentsOtherDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureShortTermInvestmentsOtherDetails",
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Short-Term Investments",
        "terseLabel": "Short term investments - other",
        "totalLabel": "Total",
        "documentation": "Amount of short-term investments classified as other."
       }
      }
     },
     "auth_ref": [
      "r123",
      "r606",
      "r885"
     ]
    },
    "ecd_OutstandingAggtErrCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "OutstandingAggtErrCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Outstanding Aggregate Erroneous Compensation Amount",
        "terseLabel": "Outstanding Aggregate Erroneous Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r803",
      "r815",
      "r825",
      "r851"
     ]
    },
    "ecd_OutstandingRecoveryCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "OutstandingRecoveryCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Outstanding Recovery Compensation Amount",
        "terseLabel": "Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r806",
      "r818",
      "r828",
      "r854"
     ]
    },
    "ecd_OutstandingRecoveryIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "OutstandingRecoveryIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Outstanding Recovery, Individual Name",
        "terseLabel": "Name"
       }
      }
     },
     "auth_ref": [
      "r806",
      "r818",
      "r828",
      "r854"
     ]
    },
    "country_PH": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2023",
     "localname": "PH",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsLongLivedAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PHILIPPINES",
        "verboseLabel": "Philippines"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PatentsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PatentsMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Patents [Member]",
        "terseLabel": "Patents",
        "documentation": "Exclusive legal right granted by the government to the owner of the patent to exploit an invention or a process for a period of time specified by law."
       }
      }
     },
     "auth_ref": [
      "r174"
     ]
    },
    "ecd_PayVsPerformanceDisclosureLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PayVsPerformanceDisclosureLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Pay vs Performance Disclosure [Line Items]",
        "terseLabel": "Pay vs Performance Disclosure"
       }
      }
     },
     "auth_ref": [
      "r832"
     ]
    },
    "us-gaap_PaymentsForProceedsFromShortTermInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsForProceedsFromShortTermInvestments",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Payments for (Proceeds from) Short-Term Investments",
        "negatedLabel": "Proceeds from (purchase of) short term investments - others",
        "documentation": "The net amount paid (received) by the reporting entity through acquisition or sale and maturities of short-term investments with an original maturity that is three months or less which qualify for treatment as an investing activity based on management's intention and intended by management to be liquidated, if necessary, within the current operating cycle. Includes cash flows from securities classified as trading securities that were acquired for reasons other than sale in the short-term."
       }
      }
     },
     "auth_ref": [
      "r890",
      "r891",
      "r893"
     ]
    },
    "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsToAcquirePropertyPlantAndEquipment",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Payments To Acquire Property Plant and Equipment",
        "negatedLabel": "Capital expenditures",
        "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets."
       }
      }
     },
     "auth_ref": [
      "r145"
     ]
    },
    "ecd_PeerGroupIssuersFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PeerGroupIssuersFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Peer Group Issuers, Footnote [Text Block]",
        "terseLabel": "Peer Group Issuers, Footnote"
       }
      }
     },
     "auth_ref": [
      "r835"
     ]
    },
    "ecd_PeerGroupTotalShareholderRtnAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PeerGroupTotalShareholderRtnAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Peer Group Total Shareholder Return Amount",
        "terseLabel": "Peer Group Total Shareholder Return Amount"
       }
      }
     },
     "auth_ref": [
      "r835"
     ]
    },
    "us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefits"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pension and Other Postretirement Benefits Disclosure [Text Block]",
        "terseLabel": "Pension Benefits",
        "documentation": "The entire disclosure for retirement benefits."
       }
      }
     },
     "auth_ref": [
      "r403",
      "r416",
      "r417",
      "r418",
      "r429",
      "r431",
      "r432",
      "r433",
      "r434",
      "r435",
      "r441",
      "r442",
      "r444",
      "r770"
     ]
    },
    "us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsRecognizedInBalanceSheetsDetails": {
       "parentTag": "us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesCurrentAndNoncurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsRecognizedInBalanceSheetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liability, Defined Benefit Plan, Current",
        "terseLabel": "Current accrued benefit cost",
        "documentation": "Amount of liability, recognized in statement of financial position, for defined benefit pension and other postretirement plans, classified as current."
       }
      }
     },
     "auth_ref": [
      "r125",
      "r404",
      "r405",
      "r415",
      "r770"
     ]
    },
    "us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesCurrentAndNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesCurrentAndNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsRecognizedInBalanceSheetsDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsRecognizedInBalanceSheetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liability, Defined Benefit Plan",
        "totalLabel": "Total amount recognized",
        "documentation": "Amount of liability, recognized in statement of financial position, for defined benefit pension and other postretirement plans."
       }
      }
     },
     "auth_ref": [
      "r182",
      "r405",
      "r415",
      "r991"
     ]
    },
    "us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsRecognizedInBalanceSheetsDetails": {
       "parentTag": "us-gaap_PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesCurrentAndNoncurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsRecognizedInBalanceSheetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liability, Defined Benefit Plan, Noncurrent",
        "terseLabel": "Non-current accrued benefit cost",
        "documentation": "Amount of liability, recognized in statement of financial position, for defined benefit pension and other postretirement plans, classified as noncurrent."
       }
      }
     },
     "auth_ref": [
      "r126",
      "r404",
      "r405",
      "r415",
      "r770"
     ]
    },
    "us-gaap_PensionAndOtherPostretirementPlansPensionsPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PensionAndOtherPostretirementPlansPensionsPolicy",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pension and Other Postretirement Plans, Pensions, Policy [Policy Text Block]",
        "terseLabel": "Pension",
        "documentation": "Disclosure of accounting policy for pension plans. This accounting policy may address (1) the types of plans sponsored by the entity (2) groups that participate in (or are covered by) each plan (3) how plan assets, liabilities and expenses are measured, including the use of any actuaries and (4) significant assumptions used by the entity to value plan assets and liabilities and how such assumptions are derived."
       }
      }
     },
     "auth_ref": [
      "r14",
      "r16",
      "r23",
      "r88"
     ]
    },
    "us-gaap_PensionExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PensionExpense",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pension Cost (Reversal of Cost)",
        "terseLabel": "Pension expense",
        "documentation": "Amount of cost (reversal of cost) for pension benefits. Excludes other postretirement benefits."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_PeoActuallyPaidCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PeoActuallyPaidCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PEO Actually Paid Compensation Amount",
        "terseLabel": "PEO Actually Paid Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r834"
     ]
    },
    "ecd_PeoMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PeoMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PEO [Member]",
        "terseLabel": "PEO"
       }
      }
     },
     "auth_ref": [
      "r844"
     ]
    },
    "ecd_PeoName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PeoName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PEO Name",
        "terseLabel": "PEO Name"
       }
      }
     },
     "auth_ref": [
      "r837"
     ]
    },
    "ecd_PeoTotalCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PeoTotalCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PEO Total Compensation Amount",
        "terseLabel": "PEO Total Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r833"
     ]
    },
    "inod_PercentageForSubsidiaryServiceTax": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "PercentageForSubsidiaryServiceTax",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage for subsidiary service tax.",
        "label": "Percentage for Subsidiary Service Tax",
        "terseLabel": "Percentage for subsidiary service tax"
       }
      }
     },
     "auth_ref": []
    },
    "inod_PercentageOfRentalEscalations": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "PercentageOfRentalEscalations",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Percentage of rental escalations.",
        "label": "Percentage of Rental Escalations",
        "terseLabel": "Percentage of rental escalations"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PlanNameAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PlanNameAxis",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureCapitalStockDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAdditionalInformationDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionActivityDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionAndRestrictedStockOptionActivityDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Plan Name [Axis]",
        "documentation": "Information by plan name for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r935",
      "r936",
      "r937",
      "r938",
      "r939",
      "r940",
      "r941",
      "r942",
      "r943",
      "r944",
      "r945",
      "r946",
      "r947",
      "r948",
      "r949",
      "r950",
      "r951",
      "r952",
      "r953",
      "r954",
      "r955",
      "r956",
      "r957",
      "r958",
      "r959",
      "r960"
     ]
    },
    "us-gaap_PlanNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PlanNameDomain",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureCapitalStockDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAdditionalInformationDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionActivityDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionAndRestrictedStockOptionActivityDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Plan Name [Domain]",
        "documentation": "Plan name for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r935",
      "r936",
      "r937",
      "r938",
      "r939",
      "r940",
      "r941",
      "r942",
      "r943",
      "r944",
      "r945",
      "r946",
      "r947",
      "r948",
      "r949",
      "r950",
      "r951",
      "r952",
      "r953",
      "r954",
      "r955",
      "r956",
      "r957",
      "r958",
      "r959",
      "r960"
     ]
    },
    "us-gaap_PostemploymentBenefitsLiabilityCurrentAndNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PostemploymentBenefitsLiabilityCurrentAndNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureLongTermObligationsDetails": {
       "parentTag": "inod_TotalLongTermObligations",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLongTermObligationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Postemployment Benefits Liability",
        "terseLabel": "Pension obligations - accrued pension liability",
        "documentation": "The carrying amount as of the balance sheet date of the obligations recognized for the various benefits provided to former or inactive employees, their beneficiaries, and covered dependents after employment but before retirement."
       }
      }
     },
     "auth_ref": [
      "r121",
      "r932",
      "r933"
     ]
    },
    "us-gaap_PreferredStockSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PreferredStockSharesAuthorized",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureCapitalStockDetails",
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Preferred Stock, Shares Authorized",
        "terseLabel": "Serial preferred stock, shares authorized",
        "documentation": "The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws."
       }
      }
     },
     "auth_ref": [
      "r129",
      "r675"
     ]
    },
    "us-gaap_PreferredStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PreferredStockSharesOutstanding",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Preferred Stock Shares Outstanding",
        "terseLabel": "Serial preferred stock, outstanding",
        "documentation": "Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased."
       }
      }
     },
     "auth_ref": [
      "r129",
      "r675",
      "r693",
      "r997",
      "r998"
     ]
    },
    "us-gaap_PreferredStockValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PreferredStockValue",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquityBeforeTreasuryStock",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Preferred Stock Value",
        "verboseLabel": "Serial preferred stock; 4,998,000 shares authorized, none outstanding",
        "documentation": "Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity."
       }
      }
     },
     "auth_ref": [
      "r129",
      "r610",
      "r779"
     ]
    },
    "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PrepaidExpenseAndOtherAssetsCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Prepaid Expense and Other Assets Current",
        "verboseLabel": "Prepaid expenses and other current assets",
        "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r886"
     ]
    },
    "us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PrepaidExpensesAndOtherCurrentAssetsMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDerivativesFairValueOfDerivativeInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Prepaid Expenses And Other Current Assets [Member]",
        "terseLabel": "Prepaid expenses and other current assets",
        "documentation": "Primary financial statement caption encompassing prepaid expenses and other current assets."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProceedsFromStockOptionsExercised": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProceedsFromStockOptionsExercised",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Proceeds from Stock Options Exercised",
        "terseLabel": "Proceeds from exercise of stock options",
        "documentation": "Amount of cash inflow from exercise of option under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r8",
      "r26"
     ]
    },
    "us-gaap_ProfitLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProfitLoss",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementCondensedConsolidatedStatementsOfOperationsAndComprehensiveIncomeLossCalc2": {
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest",
       "weight": 1.0,
       "order": 2.0
      },
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLoss": {
       "parentTag": "inod_NetIncomeLossAttributableToParent1",
       "weight": 1.0,
       "order": 2.0
      },
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 13.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows",
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Income (Loss), Including Portion Attributable to Noncontrolling Interest, Total",
        "terseLabel": "Consolidated net loss",
        "totalLabel": "Consolidated net loss",
        "verboseLabel": "Consolidated net loss",
        "documentation": "The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r207",
      "r225",
      "r228",
      "r242",
      "r249",
      "r257",
      "r265",
      "r266",
      "r285",
      "r299",
      "r305",
      "r308",
      "r322",
      "r354",
      "r355",
      "r357",
      "r358",
      "r359",
      "r361",
      "r363",
      "r365",
      "r366",
      "r525",
      "r528",
      "r529",
      "r548",
      "r549",
      "r604",
      "r618",
      "r658",
      "r695",
      "r711",
      "r712",
      "r764",
      "r776",
      "r777",
      "r790",
      "r889",
      "r926"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Property and equipment"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentPropertyAndEquipmentDetails": {
       "parentTag": "us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, Accumulated Depreciation and Amortization",
        "negatedLabel": "Less: accumulated depreciation and amortization",
        "documentation": "Amount of accumulated depreciation and amortization from plant, property, and equipment and right-of-use asset from finance lease."
       }
      }
     },
     "auth_ref": [
      "r875",
      "r879",
      "r921"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentPropertyAndEquipmentDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, after Accumulated Depreciation and Amortization",
        "totalLabel": "Net",
        "documentation": "Amount, after accumulated depreciation and amortization, of property, plant, and equipment and finance lease right-of-use asset."
       }
      }
     },
     "auth_ref": [
      "r879",
      "r919"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentPropertyAndEquipmentDetails": {
       "parentTag": "us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDetails",
      "http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, before Accumulated Depreciation and Amortization",
        "terseLabel": "Cost",
        "verboseLabel": "Property and equipment, stated at cost",
        "documentation": "Amount, before accumulated depreciation and amortization, of property, plant, and equipment and finance lease right-of-use asset."
       }
      }
     },
     "auth_ref": [
      "r874",
      "r883",
      "r920"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentByTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentByTypeAxis",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDetails",
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesFinancialStatementsRelatedToOperatingLeasesDetails",
      "http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentAdditionalInformationDetails",
      "http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-Lived Tangible Asset [Axis]",
        "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale."
       }
      }
     },
     "auth_ref": [
      "r12"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentDisclosureTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipment"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment Disclosure [Text Block]",
        "terseLabel": "Property and equipment",
        "documentation": "The entire disclosure for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections."
       }
      }
     },
     "auth_ref": [
      "r156",
      "r194",
      "r200",
      "r201"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentLineItems",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentAdditionalInformationDetails",
      "http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment [Line Items]",
        "verboseLabel": "Property and equipment",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PropertyPlantAndEquipmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment [Member]",
        "verboseLabel": "Property and equipment",
        "documentation": "Physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PropertyPlantAndEquipmentNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentNet",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment, Net, Total",
        "terseLabel": "Property and equipment, net",
        "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures."
       }
      }
     },
     "auth_ref": [
      "r12",
      "r605",
      "r616",
      "r779"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentPolicyTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment, Policy [Policy Text Block]",
        "terseLabel": "Property and Equipment",
        "documentation": "Disclosure of accounting policy for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections."
       }
      }
     },
     "auth_ref": [
      "r12",
      "r194",
      "r200",
      "r615"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment [Table Text Block]",
        "terseLabel": "Schedule of property and equipment, which include amounts recorded under capital leases",
        "documentation": "Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation."
       }
      }
     },
     "auth_ref": [
      "r12"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentTypeDomain",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDetails",
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesFinancialStatementsRelatedToOperatingLeasesDetails",
      "http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentAdditionalInformationDetails",
      "http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment, Type [Domain]",
        "documentation": "Listing of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale. Examples include land, buildings, machinery and equipment, and other types of furniture and equipment including, but not limited to, office equipment, furniture and fixtures, and computer equipment and software."
       }
      }
     },
     "auth_ref": [
      "r157"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentUsefulLife": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentUsefulLife",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDetails",
      "http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment, Useful Life",
        "terseLabel": "Property and equipment useful lives",
        "verboseLabel": "Estimated useful lives",
        "documentation": "Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProvisionForDoubtfulAccounts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProvisionForDoubtfulAccounts",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureAccountsReceivableActivityInAllowanceForCreditLossesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Receivable, Credit Loss Expense (Reversal)",
        "terseLabel": "Additions charged to expense",
        "documentation": "Amount of expense (reversal of expense) for expected credit loss on accounts receivable."
       }
      }
     },
     "auth_ref": [
      "r240",
      "r327"
     ]
    },
    "us-gaap_ProvisionForLoanLossesExpensed": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProvisionForLoanLossesExpensed",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 9.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Financing Receivable, Credit Loss, Expense (Reversal)",
        "terseLabel": "Provision for doubtful accounts",
        "documentation": "Amount of credit loss expense (reversal of expense) for financing receivable."
       }
      }
     },
     "auth_ref": [
      "r327",
      "r598"
     ]
    },
    "ecd_PvpTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PvpTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pay vs Performance Disclosure [Table]",
        "terseLabel": "Pay vs Performance Disclosure"
       }
      }
     },
     "auth_ref": [
      "r832"
     ]
    },
    "ecd_PvpTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "PvpTableTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pay vs Performance [Table Text Block]",
        "terseLabel": "Pay vs Performance Disclosure, Table"
       }
      }
     },
     "auth_ref": [
      "r832"
     ]
    },
    "srt_RangeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "RangeAxis",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDetails",
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDetails",
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesDetails",
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsActuarialAssumptionsDetails",
      "http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentAdditionalInformationDetails",
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsAdditionalInformationDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsWeightedAverageFairValuesAndAssumptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Range [Axis]"
       }
      }
     },
     "auth_ref": [
      "r350",
      "r351",
      "r352",
      "r353",
      "r416",
      "r445",
      "r476",
      "r477",
      "r478",
      "r580",
      "r581",
      "r639",
      "r665",
      "r666",
      "r719",
      "r723",
      "r725",
      "r726",
      "r734",
      "r751",
      "r752",
      "r765",
      "r767",
      "r772",
      "r780",
      "r783",
      "r922",
      "r930",
      "r986",
      "r987",
      "r988",
      "r989",
      "r990"
     ]
    },
    "srt_RangeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "RangeMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDetails",
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDetails",
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesDetails",
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsActuarialAssumptionsDetails",
      "http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentAdditionalInformationDetails",
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsAdditionalInformationDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsWeightedAverageFairValuesAndAssumptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Range [Domain]"
       }
      }
     },
     "auth_ref": [
      "r350",
      "r351",
      "r352",
      "r353",
      "r416",
      "r445",
      "r476",
      "r477",
      "r478",
      "r580",
      "r581",
      "r639",
      "r665",
      "r666",
      "r719",
      "r723",
      "r725",
      "r726",
      "r734",
      "r751",
      "r752",
      "r765",
      "r767",
      "r772",
      "r780",
      "r783",
      "r922",
      "r930",
      "r986",
      "r987",
      "r988",
      "r989",
      "r990"
     ]
    },
    "us-gaap_ReceivablesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ReceivablesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Receivable"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodBeforeTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodBeforeTax",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDerivativesContractsDesignatedAsCashFlowHedgesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Derivative Instruments, Gain (Loss) Reclassified From Accumulated Oci Into Income, Effective Portion, Net",
        "verboseLabel": "Net loss reclassified from accumulated OCI into income",
        "documentation": "Amount before tax of reclassification adjustments of other comprehensive income (loss)."
       }
      }
     },
     "auth_ref": [
      "r42",
      "r232",
      "r556",
      "r561",
      "r562",
      "r621",
      "r887"
     ]
    },
    "us-gaap_ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureComprehensiveLossReclassificationsFromAccumulatedOtherComprehensiveLossDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Reclassification from Accumulated Other Comprehensive Income, Current Period, Net of Tax",
        "terseLabel": "Net amount reclassified to earnings",
        "documentation": "Amount after tax of reclassification adjustments of other comprehensive income (loss)."
       }
      }
     },
     "auth_ref": [
      "r27",
      "r42",
      "r232",
      "r556",
      "r561",
      "r562",
      "r887"
     ]
    },
    "ecd_RecoveryOfErrCompDisclosureLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "RecoveryOfErrCompDisclosureLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Recovery of Erroneously Awarded Compensation Disclosure [Line Items]",
        "terseLabel": "Recovery of Erroneously Awarded Compensation Disclosure"
       }
      }
     },
     "auth_ref": [
      "r798",
      "r810",
      "r820",
      "r846"
     ]
    },
    "us-gaap_RedeemableNoncontrollingInterestEquityCarryingAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RedeemableNoncontrollingInterestEquityCarryingAmount",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Redeemable Noncontrolling Interest, Equity, Carrying Amount, Total",
        "terseLabel": "Non-controlling interests",
        "documentation": "As of the reporting date, the aggregate carrying amount of all noncontrolling interests which are redeemable by the (parent) entity (1) at a fixed or determinable price on a fixed or determinable date, (2) at the option of the holder of the noncontrolling interest, or (3) upon occurrence of an event that is not solely within the control of the (parent) entity. This item includes noncontrolling interest holder's ownership (or holders' ownership) regardless of the type of equity interest (common, preferred, other) including all potential organizational (legal) forms of the investee entity."
       }
      }
     },
     "auth_ref": [
      "r71",
      "r72",
      "r73",
      "r74"
     ]
    },
    "us-gaap_RelatedPartyDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RelatedPartyDomain",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Related Party [Domain]",
        "documentation": "Related parties include affiliates; other entities for which investments are accounted for by the equity method by the entity; trusts for benefit of employees; and principal owners, management, and members of immediate families. It also may include other parties with which the entity may control or can significantly influence the management or operating policies of the other to an extent that one of the transacting parties might be prevented from fully pursuing its own separate interests."
       }
      }
     },
     "auth_ref": [
      "r430",
      "r575",
      "r576",
      "r668",
      "r669",
      "r670",
      "r671",
      "r672",
      "r692",
      "r694",
      "r718"
     ]
    },
    "us-gaap_RelatedPartyTransactionsByRelatedPartyAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RelatedPartyTransactionsByRelatedPartyAxis",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Related Party [Axis]",
        "documentation": "Information by type of related party. Related parties include, but not limited to, affiliates; other entities for which investments are accounted for by the equity method by the entity; trusts for benefit of employees; and principal owners, management, and members of immediate families. It also may include other parties with which the entity may control or can significantly influence the management or operating policies of the other to an extent that one of the transacting parties might be prevented from fully pursuing its own separate interests."
       }
      }
     },
     "auth_ref": [
      "r430",
      "r575",
      "r576",
      "r585",
      "r586",
      "r587",
      "r588",
      "r589",
      "r590",
      "r591",
      "r592",
      "r593",
      "r594",
      "r595",
      "r596",
      "r668",
      "r669",
      "r670",
      "r671",
      "r672",
      "r692",
      "r694",
      "r718",
      "r982"
     ]
    },
    "us-gaap_RepaymentsOfLongTermDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RepaymentsOfLongTermDebt",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Repayments Of Long Term Debt",
        "negatedLabel": "Payment of long-term obligations",
        "documentation": "The cash outflow for debt initially having maturity due after one year or beyond the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r44",
      "r655"
     ]
    },
    "us-gaap_ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Research, Development, and Computer Software Disclosure [Text Block]",
        "terseLabel": "Capitalized Developed Software",
        "documentation": "The entire disclosure for research, development, and computer software activities, including contracts and arrangements to be performed for others and with federal government. Includes costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility and in-process research and development acquired in a business combination consummated during the period."
       }
      }
     },
     "auth_ref": [
      "r186",
      "r491"
     ]
    },
    "inod_ReservationOfSharesSubjectToOptionOrStockAppreciationRightsGrantedRatio": {
     "xbrltype": "pureItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "ReservationOfSharesSubjectToOptionOrStockAppreciationRightsGrantedRatio",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the ratio of shares reserved subject to an option or stock appreciation right granted under award plan.",
        "label": "Reservation of Shares Subject to Option or Stock Appreciation Rights Granted, Ratio",
        "terseLabel": "Share reserve ratio"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_RestatementDateAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "RestatementDateAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restatement Determination Date [Axis]",
        "terseLabel": "Restatement Determination Date:"
       }
      }
     },
     "auth_ref": [
      "r799",
      "r811",
      "r821",
      "r847"
     ]
    },
    "ecd_RestatementDeterminationDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "RestatementDeterminationDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restatement Determination Date",
        "terseLabel": "Restatement Determination Date"
       }
      }
     },
     "auth_ref": [
      "r800",
      "r812",
      "r822",
      "r848"
     ]
    },
    "ecd_RestatementDoesNotRequireRecoveryTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "RestatementDoesNotRequireRecoveryTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restatement Does Not Require Recovery [Text Block]",
        "terseLabel": "Restatement does not require Recovery"
       }
      }
     },
     "auth_ref": [
      "r807",
      "r819",
      "r829",
      "r855"
     ]
    },
    "us-gaap_RestrictedStockSharesIssuedNetOfSharesForTaxWithholdings": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RestrictedStockSharesIssuedNetOfSharesForTaxWithholdings",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restricted Stock, Shares Issued Net of Shares for Tax Withholdings",
        "terseLabel": "Shares withheld for taxes on restricted shares vesting (in shares)",
        "documentation": "Number, after shares used to satisfy grantee's tax withholding obligation for award under share-based payment arrangement, of restricted shares issued. Excludes cash used to satisfy grantee's tax withholding obligation."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RestrictedStockUnitsRSUMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RestrictedStockUnitsRSUMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAdditionalInformationDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionAndRestrictedStockOptionActivityDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restricted Stock Units (RSUs) [Member]",
        "terseLabel": "Restricted Stock Units",
        "verboseLabel": "Restricted Stock Units",
        "documentation": "Share instrument which is convertible to stock or an equivalent amount of cash, after a specified period of time or when specified performance conditions are met."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RestrictedStockValueSharesIssuedNetOfTaxWithholdings": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RestrictedStockValueSharesIssuedNetOfTaxWithholdings",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restricted Stock, Value, Shares Issued Net of Tax Withholdings",
        "terseLabel": "Shares withheld for taxes on restricted shares vesting",
        "documentation": "Value, after value of shares used to satisfy grantee's tax withholding obligation for award under share-based payment arrangement, of restricted shares issued. Excludes cash used to satisfy grantee's tax withholding obligation."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RetainedEarningsAccumulatedDeficit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RetainedEarningsAccumulatedDeficit",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquityBeforeTreasuryStock",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Retained Earnings Accumulated Deficit",
        "terseLabel": "Deficit",
        "documentation": "Amount of accumulated undistributed earnings (deficit)."
       }
      }
     },
     "auth_ref": [
      "r132",
      "r164",
      "r613",
      "r643",
      "r645",
      "r656",
      "r676",
      "r779"
     ]
    },
    "us-gaap_RetainedEarningsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RetainedEarningsMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Retained Earnings",
        "terseLabel": "Retained Earnings",
        "documentation": "Accumulated undistributed earnings (deficit)."
       }
      }
     },
     "auth_ref": [
      "r205",
      "r254",
      "r255",
      "r256",
      "r258",
      "r264",
      "r266",
      "r324",
      "r325",
      "r484",
      "r485",
      "r486",
      "r514",
      "r515",
      "r538",
      "r540",
      "r541",
      "r543",
      "r546",
      "r640",
      "r642",
      "r659",
      "r997"
     ]
    },
    "us-gaap_RevenueFromContractWithCustomerPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueFromContractWithCustomerPolicyTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue Recognition, Deferred Revenue [Policy Text Block]",
        "terseLabel": "Deferred Revenue",
        "documentation": "Disclosure of accounting policy for revenue from contract with customer."
       }
      }
     },
     "auth_ref": [
      "r204",
      "r395",
      "r396",
      "r397",
      "r398",
      "r399",
      "r400",
      "r401",
      "r402",
      "r753"
     ]
    },
    "us-gaap_RevenueRecognitionPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueRecognitionPolicyTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue Recognition, Policy [Policy Text Block]",
        "terseLabel": "Revenue Recognition",
        "documentation": "Disclosure of accounting policy for revenue. Includes revenue from contract with customer and from other sources."
       }
      }
     },
     "auth_ref": [
      "r696",
      "r753",
      "r761"
     ]
    },
    "us-gaap_Revenues": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Revenues",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLoss": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsDetails",
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsRevenuesByGeographicRegionDetails",
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenues",
        "verboseLabel": "Revenues",
        "documentation": "Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss)."
       }
      }
     },
     "auth_ref": [
      "r234",
      "r249",
      "r286",
      "r287",
      "r298",
      "r303",
      "r304",
      "r310",
      "r312",
      "r314",
      "r322",
      "r354",
      "r355",
      "r357",
      "r358",
      "r359",
      "r361",
      "r363",
      "r365",
      "r366",
      "r549",
      "r604",
      "r926"
     ]
    },
    "us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenuesFromExternalCustomersAndLongLivedAssetsLineItems",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsLongLivedAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenues from External Customers and Long-Lived Assets [Line Items]",
        "terseLabel": "Segment reporting and concentrations",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "inod_ReversalOfServiceTaxRefund": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "ReversalOfServiceTaxRefund",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents reversal of service tax refund amount.",
        "label": "Reversal of Service Tax Refund",
        "terseLabel": "Reversal of service tax refund"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RevolvingCreditFacilityMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevolvingCreditFacilityMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLineOfCreditDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revolving Credit Facility [Member]",
        "terseLabel": "Revolving Credit Facility",
        "documentation": "Arrangement in which loan proceeds can continuously be obtained following repayments, but the total amount borrowed cannot exceed a specified maximum amount."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_Rule10b51ArrAdoptedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "Rule10b51ArrAdoptedFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 10b5-1 Arrangement Adopted [Flag]",
        "terseLabel": "Rule 10b5-1 Arrangement Adopted"
       }
      }
     },
     "auth_ref": [
      "r864"
     ]
    },
    "ecd_Rule10b51ArrTrmntdFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "Rule10b51ArrTrmntdFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 10b5-1 Arrangement Terminated [Flag]",
        "terseLabel": "Rule 10b5-1 Arrangement Terminated"
       }
      }
     },
     "auth_ref": [
      "r864"
     ]
    },
    "us-gaap_SalesRevenueNetMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SalesRevenueNetMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue Benchmark [Member]",
        "terseLabel": "Sales revenue, net",
        "documentation": "Revenue from sale of product and rendering of service and other sources of income, when it serves as benchmark in concentration of risk calculation."
       }
      }
     },
     "auth_ref": [
      "r314",
      "r876"
     ]
    },
    "us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureAccountsReceivableTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Accounts, Notes, Loans and Financing Receivable [Table Text Block]",
        "terseLabel": "Schedule of accounts receivable",
        "documentation": "Tabular disclosure of the various types of trade accounts and notes receivable and for each the gross carrying value, allowance, and net carrying value as of the balance sheet date. Presentation is categorized by current, noncurrent and unclassified receivables."
       }
      }
     },
     "auth_ref": [
      "r39"
     ]
    },
    "us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureComprehensiveLossTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule Of Accumulated Other Comprehensive Income (Loss) [Table Text Block]",
        "verboseLabel": "Schedule of components of accumulated other comprehensive loss and reclassifications from accumulated other comprehensive loss",
        "documentation": "Tabular disclosure of the components of accumulated other comprehensive income (loss)."
       }
      }
     },
     "auth_ref": [
      "r42",
      "r974",
      "r975"
     ]
    },
    "us-gaap_ScheduleOfAmountsRecognizedInBalanceSheetTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfAmountsRecognizedInBalanceSheetTableTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Amounts Recognized in Balance Sheet [Table Text Block]",
        "terseLabel": "Schedule of accumulated benefit obligation",
        "documentation": "Tabular disclosure of the amounts that are recognized in the balance sheet (or statement of financial position) for pension plans and/or other employee benefit plans, showing separately the assets and current and noncurrent liabilities (if applicable) recognized."
       }
      }
     },
     "auth_ref": [
      "r83"
     ]
    },
    "us-gaap_ScheduleOfAssumptionsUsedTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfAssumptionsUsedTableTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Assumptions Used [Table Text Block]",
        "terseLabel": "Schedule of actuarial assumptions for all non-U.S. plans",
        "documentation": "Tabular disclosure of assumption used to determine benefit obligation and net periodic benefit cost of defined benefit plan. Includes, but is not limited to, discount rate, rate of compensation increase, expected long-term rate of return on plan assets and interest crediting rate."
       }
      }
     },
     "auth_ref": [
      "r426"
     ]
    },
    "us-gaap_ScheduleOfChangesInAccumulatedPostemploymentBenefitObligationsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfChangesInAccumulatedPostemploymentBenefitObligationsTableTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Changes in Accumulated Postemployment Benefit Obligations [Table Text Block]",
        "terseLabel": "Schedule of status of the non-U.S. pension benefits pertaining to benefit obligations",
        "documentation": "Tabular disclosure of the change in the accumulated postemployment benefit obligation from the beginning to the end of the period, showing separately, if applicable, the effects of the following: service cost, interest cost, contributions by plan participants, actuarial gains and losses, foreign currency exchange rate changes, benefits paid, plan amendments, business combinations, divestitures, curtailments, settlements, and special and contractual termination benefits."
       }
      }
     },
     "auth_ref": [
      "r165"
     ]
    },
    "us-gaap_ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Compensation Cost for Share-based Payment Arrangements, Allocation of Share-based Compensation Costs by Plan [Table Text Block]",
        "terseLabel": "Schedule of stock-based compensation expense",
        "documentation": "Tabular disclosure of cost recognized for award under share-based payment arrangement by plan. Includes, but is not limited to, related tax benefit."
       }
      }
     },
     "auth_ref": [
      "r91"
     ]
    },
    "us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Components of Income Tax Expense (Benefit) [Table Text Block]",
        "terseLabel": "Schedule of components of provision for income taxes",
        "documentation": "Tabular disclosure of the components of income tax expense attributable to continuing operations for each year presented including, but not limited to: current tax expense (benefit), deferred tax expense (benefit), investment tax credits, government grants, the benefits of operating loss carryforwards, tax expense that results from allocating certain tax benefits either directly to contributed capital or to reduce goodwill or other noncurrent intangible assets of an acquired entity, adjustments of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity, and adjustments of the beginning-of-the-year balances of a valuation allowance because of a change in circumstances that causes a change in judgment about the realizability of the related deferred tax asset in future years."
       }
      }
     },
     "auth_ref": [
      "r172"
     ]
    },
    "us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Deferred Tax Assets and Liabilities [Table Text Block]",
        "terseLabel": "Schedule of deferred tax assets and liabilities",
        "documentation": "Tabular disclosure of the components of net deferred tax asset or liability recognized in an entity's statement of financial position, including the following: the total of all deferred tax liabilities, the total of all deferred tax assets, the total valuation allowance recognized for deferred tax assets."
       }
      }
     },
     "auth_ref": [
      "r171"
     ]
    },
    "us-gaap_ScheduleOfDefinedBenefitPlansDisclosuresTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfDefinedBenefitPlansDisclosuresTable",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsActuarialAssumptionsDetails",
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Defined Benefit Plans Disclosures [Table]",
        "documentation": "Disclosures about an individual defined benefit pension plan or an other postretirement defined benefit plan. It may be appropriate to group certain similar plans. Also includes schedule for fair value of plan assets by major categories of plan assets by the level within the fair value hierarchy in which the fair value measurements in their entirety fall, segregating fair value measurements using quoted prices in active markets for identical assets or liabilities (Level 1), Significant other observable inputs (Level 2), and significant unobservable inputs (Level 3)."
       }
      }
     },
     "auth_ref": [
      "r14",
      "r84",
      "r85",
      "r86",
      "r87"
     ]
    },
    "us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDerivativesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Derivative Instruments, Gain (Loss) [Table Text Block]",
        "terseLabel": "Schedule of effect of foreign currency forward contracts designated as cash flow hedges on condensed consolidated statements of operations",
        "documentation": "Tabular disclosure of the location and amount of derivative instruments and nonderivative instruments designated as hedging instruments reported before netting adjustments, and the amount of gain (loss) on derivative instruments and nonderivative instruments designated and qualified as hedging instruments."
       }
      }
     },
     "auth_ref": [
      "r109",
      "r113",
      "r535"
     ]
    },
    "us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDerivativesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule Of Derivative Instruments In Statement Of Financial Position, Fair Value [Table Text Block]",
        "terseLabel": "Schedule of fair value of derivative instruments included within the condensed consolidated balance sheets",
        "documentation": "Tabular disclosure of the location and fair value amounts of derivative instruments (and nonderivative instruments that are designated and qualify as hedging instruments) reported in the statement of financial position."
       }
      }
     },
     "auth_ref": [
      "r110"
     ]
    },
    "inod_ScheduleOfEarningsPerShareBasicAndDilutedTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTable",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLossPerShareAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Earnings Per Share Basic and Diluted [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLossPerShareTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule Of Earnings Per Share, Basic and Diluted [Table Text Block]",
        "verboseLabel": "Schedule of loss per share, basic and diluted",
        "documentation": "Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r901"
     ]
    },
    "us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]",
        "terseLabel": "Schedule of reconciliation of U.S. statutory rate with Company's effective tax rate",
        "documentation": "Tabular disclosure of the reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax income from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r170"
     ]
    },
    "us-gaap_ScheduleOfExpectedBenefitPaymentsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfExpectedBenefitPaymentsTableTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Expected Benefit Payments [Table Text Block]",
        "terseLabel": "Schedule of estimated future benefit payments",
        "documentation": "Tabular disclosure of benefits expected to be paid by pension plans and/or other employee benefit plans in each of the next five fiscal years and in the aggregate for the five fiscal years thereafter."
       }
      }
     },
     "auth_ref": [
      "r166"
     ]
    },
    "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfFiniteLivedIntangibleAssetsTable",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails",
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Finite-Lived Intangible Assets [Table]",
        "documentation": "Schedule of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r65",
      "r67",
      "r583"
     ]
    },
    "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Finite-Lived Intangible Assets [Table Text Block]",
        "terseLabel": "Schedule of Company's acquired intangible assets and capitalized developed software",
        "documentation": "Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment."
       }
      }
     },
     "auth_ref": [
      "r65",
      "r67"
     ]
    },
    "us-gaap_ScheduleOfGoodwillTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfGoodwillTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Goodwill [Table Text Block]",
        "terseLabel": "Schedule of changes in carrying amount of goodwill",
        "documentation": "Tabular disclosure of goodwill by reportable segment and in total which includes a rollforward schedule."
       }
      }
     },
     "auth_ref": [
      "r766",
      "r906",
      "r907",
      "r908",
      "r909",
      "r910",
      "r911",
      "r912",
      "r913",
      "r914",
      "r915",
      "r916"
     ]
    },
    "us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Income before Income Tax, Domestic and Foreign [Table Text Block]",
        "terseLabel": "Schedule of United States and foreign components of loss before provision for income taxes",
        "documentation": "Tabular disclosure of income before income tax between domestic and foreign jurisdictions."
       }
      }
     },
     "auth_ref": [
      "r897"
     ]
    },
    "us-gaap_ScheduleOfNetBenefitCostsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfNetBenefitCostsTableTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Net Benefit Costs [Table Text Block]",
        "terseLabel": "Schedule of status of the non-U.S. pension benefits pertaining to components of net periodic pension cost",
        "documentation": "Tabular disclosure of the components of net benefit costs for pension plans and/or other employee benefit plans including service cost, interest cost, expected return on plan assets, gain (loss), prior service cost or credit, transition asset or obligation, and gain (loss) recognized due to settlements or curtailments."
       }
      }
     },
     "auth_ref": [
      "r167"
     ]
    },
    "inod_ScheduleOfOperatingLeaseExpenseRecognizedInFinancialStatementsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "ScheduleOfOperatingLeaseExpenseRecognizedInFinancialStatementsTableTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of operating lease expense recognized in financial statements.",
        "label": "Schedule of Operating lease expense recognized in Financial Statements [Table Text Block]",
        "terseLabel": "Schedule of operating lease expense recognized in financial statements"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfPropertyPlantAndEquipmentTable",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentAdditionalInformationDetails",
      "http://www.innodata-isogen.com/role/DisclosurePropertyAndEquipmentPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment [Table]",
        "documentation": "Disclosure of information about physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation."
       }
      }
     },
     "auth_ref": [
      "r12"
     ]
    },
    "us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Revenue from External Customers Attributed to Foreign Countries by Geographic Area [Table Text Block]",
        "terseLabel": "Schedule of revenue from external customers based on client domicile",
        "documentation": "Tabular disclosure of the names of foreign countries from which revenue is material and the amount of revenue from external customers attributed to those countries. An entity may also provide subtotals of geographic information about groups of countries."
       }
      }
     },
     "auth_ref": [
      "r61",
      "r142"
     ]
    },
    "us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Revenue from External Customers and Long-Lived Assets, by Geographical Areas [Table Text Block]",
        "terseLabel": "Schedule of revenue from external customers and long-lived assets",
        "documentation": "Tabular disclosure of information concerning material long-lived assets (excluding financial instruments, customer relationships with financial institutions, mortgage and other servicing rights, deferred policy acquisition costs, and deferred taxes assets) located in identified geographic areas and/or the amount of revenue from external customers attributed to that country from which revenue is material. An entity may also provide subtotals of geographic information about groups of countries."
       }
      }
     },
     "auth_ref": [
      "r60",
      "r142"
     ]
    },
    "us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsLongLivedAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Revenues from External Customers and Long-Lived Assets [Table]",
        "documentation": "Schedule of material long-lived assets (excluding financial instruments, customer relationships with financial institutions, mortgage and other servicing rights, deferred policy acquisition costs, and deferred taxes assets) located in identified geographic areas and/or the amount of revenue from external customers attributed to that country from which revenue is material. An entity may also provide subtotals of geographic information about groups of countries."
       }
      }
     },
     "auth_ref": [
      "r60",
      "r138"
     ]
    },
    "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfSegmentReportingInformationBySegmentTable",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsAdditionalInformationDetails",
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsDetails",
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsRevenuesByGeographicRegionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Segment Reporting Information, by Segment [Table]",
        "documentation": "A table disclosing the profit or loss and total assets for each reportable segment of the entity. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss."
       }
      }
     },
     "auth_ref": [
      "r57",
      "r58",
      "r59",
      "r62"
     ]
    },
    "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfSegmentReportingInformationBySegmentTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Segment Reporting Information, by Segment [Table Text Block]",
        "terseLabel": "Schedule of segment reporting information, by segment",
        "documentation": "Tabular disclosure of the profit or loss and total assets for each reportable segment. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss."
       }
      }
     },
     "auth_ref": [
      "r57",
      "r58",
      "r59",
      "r62"
     ]
    },
    "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAdditionalInformationDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionActivityDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionAndRestrictedStockOptionActivityDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsWeightedAverageFairValuesAndAssumptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]",
        "documentation": "Disclosure of information about share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r447",
      "r449",
      "r451",
      "r452",
      "r453",
      "r455",
      "r456",
      "r457",
      "r458",
      "r459",
      "r460",
      "r461",
      "r462",
      "r463",
      "r464",
      "r465",
      "r466",
      "r467",
      "r468",
      "r469",
      "r470",
      "r471",
      "r472",
      "r475",
      "r476",
      "r477",
      "r478",
      "r479"
     ]
    },
    "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule Of Share-Based Compensation, Stock Options, Activity [Table Text Block]",
        "terseLabel": "Schedule of stock option activity",
        "documentation": "Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value."
       }
      }
     },
     "auth_ref": [
      "r24",
      "r25",
      "r90"
     ]
    },
    "us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]",
        "terseLabel": "Schedule of weighted-average fair value of the options granted, and weighted-average assumptions",
        "documentation": "Tabular disclosure of the significant assumptions used during the year to estimate the fair value of stock options, including, but not limited to: (a) expected term of share options and similar instruments, (b) expected volatility of the entity's shares, (c) expected dividends, (d) risk-free rate(s), and (e) discount for post-vesting restrictions."
       }
      }
     },
     "auth_ref": [
      "r169"
     ]
    },
    "us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Share-based Compensation, Restricted Stock and Restricted Stock Units Activity [Table Text Block]",
        "terseLabel": "Summary of restricted stock under the company's plan",
        "documentation": "Disclosure of the number and weighted-average grant date fair value for restricted stock and restricted stock units that were outstanding at the beginning and end of the year, and the number of restricted stock and restricted stock units that were granted, vested, or forfeited during the year."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfStockByClassTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfStockByClassTable",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureCapitalStockDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Stock by Class [Table]",
        "documentation": "Schedule detailing information related to equity by class of stock. Class of stock includes common, convertible, and preferred stocks which are not redeemable or redeemable solely at the option of the issuer. It also includes preferred stock with redemption features that are solely within the control of the issuer and mandatorily redeemable stock if redemption is required to occur only upon liquidation or termination of the reporting entity."
       }
      }
     },
     "auth_ref": [
      "r70",
      "r75",
      "r76",
      "r77",
      "r78",
      "r79",
      "r80",
      "r162",
      "r163",
      "r164",
      "r215",
      "r216",
      "r217",
      "r280",
      "r379",
      "r380",
      "r381",
      "r383",
      "r386",
      "r391",
      "r393",
      "r652",
      "r653",
      "r654",
      "r655",
      "r767",
      "r872",
      "r894"
     ]
    },
    "us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule Of Unrecognized Tax Benefits Roll Forward [Table Text Block]",
        "terseLabel": "Schedule of roll forward of the Company's unrecognized tax benefits and associated interest",
        "documentation": "Tabular disclosure of the change in unrecognized tax benefits."
       }
      }
     },
     "auth_ref": [
      "r775",
      "r963"
     ]
    },
    "inod_ScheduleOfWeightedAverageRemainingLeaseTermsAndDiscountRatesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "ScheduleOfWeightedAverageRemainingLeaseTermsAndDiscountRatesTableTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of weighted average remaining lease terms and discount rates.",
        "label": "Schedule of Weighted Average Remaining Lease Terms and Discount Rates [Table Text Block]",
        "terseLabel": "Schedule of weighted average remaining lease terms and discount rates"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block]",
        "terseLabel": "Schedule of estimated amortization expense for intangible assets",
        "documentation": "Tabular disclosure of the amount of amortization expense expected to be recorded in succeeding fiscal years for finite-lived intangible assets."
       }
      }
     },
     "auth_ref": [
      "r67"
     ]
    },
    "us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLineOfCreditDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Secured Overnight Financing Rate (SOFR) Overnight Index Swap Rate [Member]",
        "terseLabel": "SOFR",
        "documentation": "Fixed rate on U.S. dollar, constant-notional interest rate swap that has its variable-rate leg referenced to Secured Overnight Financing Rate (SOFR) with no additional spread over SOFR on variable-rate leg."
       }
      }
     },
     "auth_ref": [
      "r971"
     ]
    },
    "dei_Security12bTitle": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "Security12bTitle",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of 12(b) Security",
        "documentation": "Title of a 12(b) registered security."
       }
      }
     },
     "auth_ref": [
      "r792"
     ]
    },
    "dei_SecurityExchangeName": {
     "xbrltype": "edgarExchangeCodeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "SecurityExchangeName",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Security Exchange Name",
        "documentation": "Name of the Exchange on which a security is registered."
       }
      }
     },
     "auth_ref": [
      "r794"
     ]
    },
    "us-gaap_SegmentDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SegmentDomain",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Segment [Domain]",
        "documentation": "Components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity."
       }
      }
     },
     "auth_ref": [
      "r282",
      "r285",
      "r286",
      "r287",
      "r288",
      "r289",
      "r290",
      "r291",
      "r292",
      "r293",
      "r294",
      "r295",
      "r296",
      "r298",
      "r299",
      "r300",
      "r301",
      "r302",
      "r303",
      "r304",
      "r305",
      "r306",
      "r308",
      "r314",
      "r331",
      "r332",
      "r333",
      "r334",
      "r335",
      "r336",
      "r337",
      "r338",
      "r339",
      "r346",
      "r347",
      "r628",
      "r629",
      "r630",
      "r631",
      "r632",
      "r633",
      "r634",
      "r635",
      "r636",
      "r637",
      "r638",
      "r766",
      "r880",
      "r992"
     ]
    },
    "srt_SegmentGeographicalDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "SegmentGeographicalDomain",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDetails",
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsAdditionalInformationDetails",
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsLongLivedAssetsDetails",
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsRevenuesByGeographicRegionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Segment, Geographical [Domain]"
       }
      }
     },
     "auth_ref": [
      "r312",
      "r313",
      "r661",
      "r662",
      "r663",
      "r720",
      "r724",
      "r727",
      "r735",
      "r741",
      "r742",
      "r743",
      "r744",
      "r745",
      "r746",
      "r747",
      "r748",
      "r749",
      "r754",
      "r768",
      "r783",
      "r931",
      "r992"
     ]
    },
    "us-gaap_SegmentReportingAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SegmentReportingAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Segment reporting and concentrations"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SegmentReportingDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SegmentReportingDisclosureTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Segment Reporting Disclosure [Text Block]",
        "terseLabel": "Segment reporting and concentrations",
        "documentation": "The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments."
       }
      }
     },
     "auth_ref": [
      "r281",
      "r282",
      "r283",
      "r284",
      "r285",
      "r297",
      "r302",
      "r306",
      "r307",
      "r308",
      "r309",
      "r310",
      "r311",
      "r314"
     ]
    },
    "us-gaap_SegmentReportingInformationLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SegmentReportingInformationLineItems",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsAdditionalInformationDetails",
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsDetails",
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsRevenuesByGeographicRegionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Segment Reporting Information [Line Items]",
        "verboseLabel": "Segment reporting and concentrations",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SellingGeneralAndAdministrativeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SellingGeneralAndAdministrativeExpense",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLoss": {
       "parentTag": "us-gaap_CostsAndExpenses",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Selling General and Administrative Expense",
        "verboseLabel": "Selling and administrative expenses",
        "documentation": "The aggregate total costs related to selling a firm's product and services, as well as all other general and administrative expenses. Direct selling expenses (for example, credit, warranty, and advertising) are expenses that can be directly linked to the sale of specific products. Indirect selling expenses are expenses that cannot be directly linked to the sale of specific products, for example telephone expenses, Internet, and postal charges. General and administrative expenses include salaries of non-sales personnel, rent, utilities, communication, etc."
       }
      }
     },
     "auth_ref": [
      "r144"
     ]
    },
    "inod_ServiceTaxCreditReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "ServiceTaxCreditReceivable",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the service tax credit receivable.",
        "label": "Service Tax Credit Receivable",
        "terseLabel": "Service tax credit receivable"
       }
      }
     },
     "auth_ref": []
    },
    "inod_SettlementAgreementObligations": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "SettlementAgreementObligations",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureLongTermObligationsDetails": {
       "parentTag": "inod_TotalLongTermObligations",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLongTermObligationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of settlement agreement obligations.",
        "label": "Settlement Agreement Obligations",
        "terseLabel": "Settlement agreement"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensation",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 10.0
      },
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesStockBasedCompensationDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesStockBasedCompensationDetails",
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation, Total",
        "terseLabel": "Stock-based compensation",
        "totalLabel": "Total stock-based compensation",
        "documentation": "Amount of noncash expense for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r10"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAdditionalInformationDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period",
        "terseLabel": "Stock options vesting period",
        "documentation": "Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition."
       }
      }
     },
     "auth_ref": [
      "r773"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionAndRestrictedStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period",
        "terseLabel": "Number of Restricted Stock Units, Granted",
        "documentation": "The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan)."
       }
      }
     },
     "auth_ref": [
      "r466"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionAndRestrictedStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value",
        "terseLabel": "Weighted-Average Grant Date Fair Value, Granted",
        "documentation": "The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan)."
       }
      }
     },
     "auth_ref": [
      "r466"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionAndRestrictedStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number",
        "periodEndLabel": "Number of Restricted Stock Units, Unvested at End of the year",
        "periodStartLabel": "Number of Restricted Stock Units, Unvested at Beginning of the year",
        "documentation": "The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date."
       }
      }
     },
     "auth_ref": [
      "r463",
      "r464"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionAndRestrictedStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value",
        "periodEndLabel": "Weighted-Average Grant Date Fair Value, Outstanding at End of the year",
        "periodStartLabel": "Weighted-Average Grant Date Fair Value, Outstanding at Beginning of the year",
        "documentation": "Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options."
       }
      }
     },
     "auth_ref": [
      "r463",
      "r464"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsWeightedAverageFairValuesAndAssumptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Dividend Rate",
        "verboseLabel": "Expected dividends",
        "documentation": "The estimated dividend rate (a percentage of the share price) to be paid (expected dividends) to holders of the underlying shares over the option's term."
       }
      }
     },
     "auth_ref": [
      "r477"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsWeightedAverageFairValuesAndAssumptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Volatility Rate",
        "verboseLabel": "Expected volatility factor",
        "documentation": "The estimated measure of the percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period."
       }
      }
     },
     "auth_ref": [
      "r476"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsWeightedAverageFairValuesAndAssumptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Risk Free Interest Rate",
        "verboseLabel": "Risk-free interest rate",
        "documentation": "The risk-free interest rate assumption that is used in valuing an option on its own shares."
       }
      }
     },
     "auth_ref": [
      "r478"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAdditionalInformationDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionActivityDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionAndRestrictedStockOptionActivityDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsWeightedAverageFairValuesAndAssumptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award [Line Items]",
        "terseLabel": "Stock Options",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r447",
      "r449",
      "r451",
      "r452",
      "r453",
      "r455",
      "r456",
      "r457",
      "r458",
      "r459",
      "r460",
      "r461",
      "r462",
      "r463",
      "r464",
      "r465",
      "r466",
      "r467",
      "r468",
      "r469",
      "r470",
      "r471",
      "r472",
      "r475",
      "r476",
      "r477",
      "r478",
      "r479"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Authorized",
        "terseLabel": "Share-based compensation arrangement by share-based payment award, number of shares authorized",
        "documentation": "Number of shares authorized for issuance under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r774"
     ]
    },
    "inod_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesUnderlyingOutstandingOptionsOrRights": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesUnderlyingOutstandingOptionsOrRights",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of shares of our common stock underlying outstanding options or rights under share-based payment arrangement.",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Underlying Outstanding Options or Rights",
        "terseLabel": "Shares of common stock underlying outstanding options or rights"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Exercisable, Number",
        "verboseLabel": "Number of Options Exercisable (in shares)",
        "documentation": "The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan."
       }
      }
     },
     "auth_ref": [
      "r457"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Exercisable, Weighted Average Exercise Price",
        "terseLabel": "Weighted Average Exercise Price Exercisable (in dollars per shares)",
        "documentation": "The weighted-average price as of the balance sheet date at which grantees can acquire the shares reserved for issuance on vested portions of options outstanding and currently exercisable under the stock option plan."
       }
      }
     },
     "auth_ref": [
      "r457"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Forfeitures and Expirations In Period",
        "negatedLabel": "Number of Options, Forfeited/Expired (in shares)",
        "documentation": "For presentations that combine terminations, the number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan or that expired."
       }
      }
     },
     "auth_ref": [
      "r941"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Forfeitures and Expirations In Period, Weighted Average Exercise Price",
        "verboseLabel": "Weighted Average Exercise Price Forfeited/Expired (in dollars per shares)",
        "documentation": "Weighted average price of options that were either forfeited or expired."
       }
      }
     },
     "auth_ref": [
      "r941"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Grants In Period, Net Of Forfeitures",
        "verboseLabel": "Number of Options, Granted (in shares)",
        "documentation": "Net number of share options (or share units) granted during the period."
       }
      }
     },
     "auth_ref": [
      "r942"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsWeightedAverageFairValuesAndAssumptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value",
        "verboseLabel": "Weighted average fair value of options granted (in dollars per share)",
        "documentation": "The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology."
       }
      }
     },
     "auth_ref": [
      "r469"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Outstanding, Intrinsic Value",
        "verboseLabel": "Aggregate Intrinsic Value, Outstanding",
        "documentation": "Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding."
       }
      }
     },
     "auth_ref": [
      "r89"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Outstanding, Number",
        "periodEndLabel": "Number of Options, Outstanding - Ending balance (in shares)",
        "periodStartLabel": "Number of Options, Outstanding - Beginning balance (in shares)",
        "documentation": "Number of options outstanding, including both vested and non-vested options."
       }
      }
     },
     "auth_ref": [
      "r455",
      "r456"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price",
        "periodEndLabel": "Weighted Average Exercise Price Outstanding Ending balance (in dollars per shares)",
        "periodStartLabel": "Weighted Average Exercise Price Outstanding beginning balance (in dollars per shares)",
        "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan."
       }
      }
     },
     "auth_ref": [
      "r455",
      "r456"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Vested and Expected To Vest, Outstanding, Aggregate Intrinsic Value",
        "verboseLabel": "Aggregate Intrinsic Value, Vested and Expected to Vest",
        "documentation": "Amount by which current fair value of underlying stock exceeds exercise price of fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur."
       }
      }
     },
     "auth_ref": [
      "r471"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Vested and Expected To Vest, Outstanding, Number",
        "terseLabel": "Number of Options, Vested and Expected to Vest (in shares)",
        "documentation": "Number of fully vested and expected to vest options outstanding that can be converted into shares under option plan. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur."
       }
      }
     },
     "auth_ref": [
      "r471"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Vested and Expected To Vest, Outstanding, Weighted Average Exercise Price",
        "terseLabel": "Weighted Average Exercise Price Vested and Expected to Vest (in dollars per shares)",
        "documentation": "Weighted-average exercise price, at which grantee can acquire shares reserved for issuance, for fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur."
       }
      }
     },
     "auth_ref": [
      "r471"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAdditionalInformationDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionAndRestrictedStockOptionActivityDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsTables",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsWeightedAverageFairValuesAndAssumptionsDetails",
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "All Award Types",
        "terseLabel": "All Award Types",
        "documentation": "Award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r451",
      "r452",
      "r453",
      "r455",
      "r456",
      "r457",
      "r458",
      "r459",
      "r460",
      "r461",
      "r462",
      "r463",
      "r464",
      "r465",
      "r466",
      "r467",
      "r468",
      "r469",
      "r470",
      "r471",
      "r472",
      "r475",
      "r476",
      "r477",
      "r478",
      "r479"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangements By Share-Based Payment Award, Options, Exercises In Period, Weighted Average Exercise Price",
        "verboseLabel": "Weighted Average Exercise Price Exercised (in dollars per shares)",
        "documentation": "Weighted average price at which option holders acquired shares when converting their stock options into shares."
       }
      }
     },
     "auth_ref": [
      "r460"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangements By Share-Based Payment Award, Options, Grants In Period, Weighted Average Exercise Price",
        "verboseLabel": "Weighted Average Exercise Price Granted (in dollars per shares)",
        "documentation": "Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options."
       }
      }
     },
     "auth_ref": [
      "r459"
     ]
    },
    "us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationOptionAndIncentivePlansPolicy",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation, Option and Incentive Plans Policy [Policy Text Block]",
        "terseLabel": "Accounting for Stock-Based Compensation",
        "documentation": "Disclosure of accounting policy for award under share-based payment arrangement. Includes, but is not limited to, methodology and assumption used in measuring cost."
       }
      }
     },
     "auth_ref": [
      "r446",
      "r454",
      "r473",
      "r474",
      "r475",
      "r476",
      "r479",
      "r487",
      "r488",
      "r489",
      "r490"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsWeightedAverageFairValuesAndAssumptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Term",
        "verboseLabel": "Expected term (years)",
        "documentation": "Expected term of award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r475"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Exercisable, Intrinsic Value",
        "terseLabel": "Aggregate Intrinsic Value, Exercisable",
        "documentation": "Amount of difference between fair value of the underlying shares reserved for issuance and exercise price of vested portions of options outstanding and currently exercisable."
       }
      }
     },
     "auth_ref": [
      "r89"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Exercisable, Weighted Average Remaining Contractual Term",
        "verboseLabel": "Weighted Average Remaining Contractual Term Exercisable (in years)",
        "documentation": "Weighted average remaining contractual term for vested portions of options outstanding and currently exercisable or convertible, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r89"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term",
        "verboseLabel": "Weighted Average Remaining Contractual Term Outstanding (in years)",
        "documentation": "Weighted average remaining contractual term for option awards outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r168"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Vested and Expected To Vest, Outstanding, Weighted Average Remaining Contractual Term",
        "verboseLabel": "Weighted Average Remaining Contractual Term Vested and Expected to Vest (in years)",
        "documentation": "Weighted average remaining contractual term for fully vested and expected to vest options outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur."
       }
      }
     },
     "auth_ref": [
      "r471"
     ]
    },
    "us-gaap_SharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharesOutstanding",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Shares, Outstanding",
        "periodEndLabel": "Balance at the end (in shares)",
        "periodStartLabel": "Balance at the beginning (in shares)",
        "documentation": "Number of shares issued which are neither cancelled nor held in the treasury."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharesPaidForTaxWithholdingForShareBasedCompensation",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based Payment Arrangement, Shares Withheld for Tax Withholding Obligation",
        "negatedLabel": "Shares withheld for exercise net settlement (in shares)",
        "documentation": "Number of shares used to settle grantee's tax withholding obligation for award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShortTermInvestmentsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShortTermInvestmentsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Short Term Investments - other"
       }
      }
     },
     "auth_ref": []
    },
    "inod_ShortTermInvestmentsOtherReadilyMarketableTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "ShortTermInvestmentsOtherReadilyMarketableTableTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureShortTermInvestmentsOtherTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of other investments readily marketable, including, but not limited to, description of investment, fair value and value as measured by quoted price.",
        "label": "Short Term Investments, Other, Readily Marketable [Table Text Block]",
        "terseLabel": "Schedule of other short term investments"
       }
      }
     },
     "auth_ref": []
    },
    "inod_ShortTermInvestmentsOthersTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "ShortTermInvestmentsOthersTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureShortTermInvestmentsOther"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The entire disclosure of the components other short-term investments. Short-term investments may include current marketable securities.",
        "label": "Short-Term Investments, Others [Text Block]",
        "terseLabel": "Short Term Investments - other"
       }
      }
     },
     "auth_ref": []
    },
    "inod_ShortTermOperatingLeaseMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "ShortTermOperatingLeaseMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureOperatingLeasesFinancialStatementsRelatedToOperatingLeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "This member represents of short term operating lease.",
        "label": "Short Term Operating Lease [Member]",
        "terseLabel": "Short-term operating leases"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SoftwareDevelopmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SoftwareDevelopmentMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Software Development [Member]",
        "terseLabel": "Capitalized software development",
        "documentation": "Internally developed software for sale, licensing or long-term internal use."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementBusinessSegmentsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementBusinessSegmentsAxis",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Segments [Axis]",
        "documentation": "Information by business segments."
       }
      }
     },
     "auth_ref": [
      "r206",
      "r282",
      "r285",
      "r286",
      "r287",
      "r288",
      "r289",
      "r290",
      "r291",
      "r292",
      "r293",
      "r294",
      "r295",
      "r296",
      "r298",
      "r299",
      "r300",
      "r301",
      "r302",
      "r303",
      "r304",
      "r305",
      "r306",
      "r308",
      "r314",
      "r331",
      "r332",
      "r333",
      "r334",
      "r335",
      "r336",
      "r337",
      "r338",
      "r339",
      "r345",
      "r346",
      "r347",
      "r628",
      "r629",
      "r630",
      "r631",
      "r632",
      "r633",
      "r634",
      "r635",
      "r636",
      "r637",
      "r638",
      "r766",
      "r880",
      "r992"
     ]
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementEquityComponentsAxis",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureCapitalStockDetails",
      "http://www.innodata-isogen.com/role/DisclosureComprehensiveLossReclassificationsFromAccumulatedOtherComprehensiveLossDetails",
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement Equity Components [Axis]",
        "documentation": "Information by component of equity."
       }
      }
     },
     "auth_ref": [
      "r21",
      "r38",
      "r205",
      "r231",
      "r232",
      "r233",
      "r254",
      "r255",
      "r256",
      "r258",
      "r264",
      "r266",
      "r279",
      "r324",
      "r325",
      "r394",
      "r484",
      "r485",
      "r486",
      "r514",
      "r515",
      "r538",
      "r539",
      "r540",
      "r541",
      "r542",
      "r543",
      "r546",
      "r556",
      "r558",
      "r559",
      "r560",
      "r561",
      "r562",
      "r574",
      "r640",
      "r641",
      "r642",
      "r659",
      "r713"
     ]
    },
    "srt_StatementGeographicalAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "StatementGeographicalAxis",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDetails",
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsAdditionalInformationDetails",
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsLongLivedAssetsDetails",
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsRevenuesByGeographicRegionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographical [Axis]"
       }
      }
     },
     "auth_ref": [
      "r312",
      "r313",
      "r661",
      "r662",
      "r663",
      "r720",
      "r724",
      "r727",
      "r735",
      "r738",
      "r741",
      "r742",
      "r743",
      "r744",
      "r745",
      "r746",
      "r747",
      "r748",
      "r749",
      "r754",
      "r768",
      "r783",
      "r931",
      "r992"
     ]
    },
    "us-gaap_StatementLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementLineItems",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement [Line Items]",
        "terseLabel": "Statement",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r254",
      "r255",
      "r256",
      "r279",
      "r582",
      "r647",
      "r660",
      "r667",
      "r668",
      "r669",
      "r670",
      "r671",
      "r672",
      "r675",
      "r678",
      "r679",
      "r680",
      "r681",
      "r682",
      "r683",
      "r684",
      "r685",
      "r686",
      "r688",
      "r689",
      "r690",
      "r691",
      "r692",
      "r694",
      "r696",
      "r697",
      "r698",
      "r699",
      "r700",
      "r701",
      "r702",
      "r703",
      "r704",
      "r705",
      "r706",
      "r707",
      "r708",
      "r709",
      "r713",
      "r784"
     ]
    },
    "us-gaap_StatementOfCashFlowsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementOfCashFlowsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "CONSOLIDATED STATEMENTS OF CASH FLOWS"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementOfFinancialPositionAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementOfFinancialPositionAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "CONSOLIDATED BALANCE SHEETS"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementOfStockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementOfStockholdersEquityAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementTable",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement [Table]",
        "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed."
       }
      }
     },
     "auth_ref": [
      "r254",
      "r255",
      "r256",
      "r279",
      "r582",
      "r647",
      "r660",
      "r667",
      "r668",
      "r669",
      "r670",
      "r671",
      "r672",
      "r675",
      "r678",
      "r679",
      "r680",
      "r681",
      "r682",
      "r683",
      "r684",
      "r685",
      "r686",
      "r688",
      "r689",
      "r690",
      "r691",
      "r692",
      "r694",
      "r696",
      "r697",
      "r698",
      "r699",
      "r700",
      "r701",
      "r702",
      "r703",
      "r704",
      "r705",
      "r706",
      "r707",
      "r708",
      "r709",
      "r713",
      "r784"
     ]
    },
    "ecd_StkPrcOrTsrEstimationMethodTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "StkPrcOrTsrEstimationMethodTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Price or TSR Estimation Method [Text Block]",
        "terseLabel": "Stock Price or TSR Estimation Method"
       }
      }
     },
     "auth_ref": [
      "r802",
      "r814",
      "r824",
      "r850"
     ]
    },
    "us-gaap_StockAppreciationRightsSARSMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockAppreciationRightsSARSMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Appreciation Rights (SARs) [Member]",
        "terseLabel": "Stock Appreciation Rights (SARs)",
        "documentation": "Right to receive cash or shares equal to appreciation of predetermined number of grantor's shares during predetermined time period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionActivityDetails",
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock option exercises (in shares)",
        "negatedLabel": "Number of Options, Exercised (in shares)",
        "terseLabel": "Stock option exercises (in shares)",
        "documentation": "Number of share options (or share units) exercised during the current period."
       }
      }
     },
     "auth_ref": [
      "r21",
      "r129",
      "r130",
      "r164",
      "r460"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodValueStockOptionsExercised",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Exercise of stock options",
        "terseLabel": "Stock option exercises",
        "documentation": "Value of stock issued as a result of the exercise of stock options."
       }
      }
     },
     "auth_ref": [
      "r21",
      "r38",
      "r164"
     ]
    },
    "us-gaap_StockOptionPlanExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockOptionPlanExpense",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesStockBasedCompensationDetails": {
       "parentTag": "us-gaap_ShareBasedCompensation",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesStockBasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock or Unit Option Plan Expense",
        "terseLabel": "Direct operating costs",
        "documentation": "Amount of noncash expense for option under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r11"
     ]
    },
    "inod_StockOptionsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "StockOptionsLineItems",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Stock Options [Line Items]",
        "terseLabel": "Stock Options and Restricted Stock Units"
       }
      }
     },
     "auth_ref": []
    },
    "inod_StockOptionsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "StockOptionsTable",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule reflecting stock options.",
        "label": "Stock Options [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockRepurchaseProgramAuthorizedAmount1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockRepurchaseProgramAuthorizedAmount1",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureCapitalStockDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Repurchase Program, Authorized Amount",
        "terseLabel": "Shares authorized to repurchase",
        "documentation": "Amount of stock repurchase plan authorized."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockRepurchasedDuringPeriodShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockRepurchasedDuringPeriodShares",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureCapitalStockDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Repurchased During Period, Shares",
        "terseLabel": "Purchase of treasury stock (in shares)",
        "documentation": "Number of shares that have been repurchased during the period and have not been retired and are not held in treasury. Some state laws may govern the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock."
       }
      }
     },
     "auth_ref": [
      "r21",
      "r129",
      "r130",
      "r164",
      "r655",
      "r713",
      "r736"
     ]
    },
    "us-gaap_StockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockholdersEquity",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureComprehensiveLossReclassificationsFromAccumulatedOtherComprehensiveLossDetails",
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets",
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stockholders Equity",
        "periodEndLabel": "Balance at the end",
        "periodStartLabel": "Balance at the beginning",
        "totalLabel": "Total stockholders' equity",
        "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r130",
      "r133",
      "r134",
      "r152",
      "r677",
      "r693",
      "r714",
      "r715",
      "r779",
      "r791",
      "r896",
      "r904",
      "r973",
      "r997"
     ]
    },
    "us-gaap_StockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockholdersEquityAbstract",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stockholders Equity [Abstract]",
        "terseLabel": "STOCKHOLDERS' EQUITY:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockholdersEquityBeforeTreasuryStock": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockholdersEquityBeforeTreasuryStock",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stockholders Equity Before Treasury Stock",
        "totalLabel": "Stockholders' Equity before Treasury Stock, Total",
        "documentation": "Total amount of stockholders' equity (deficit) items including stock value, paid in capital, retained earnings and including equity attributable to noncontrolling interests and before deducting the carrying value of treasury stock."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockholdersEquityNoteAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockholdersEquityNoteAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Capital Stock"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockholdersEquityNoteDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockholdersEquityNoteDisclosureTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureCapitalStock"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stockholders' Equity Note Disclosure [Text Block]",
        "terseLabel": "Capital Stock",
        "documentation": "The entire disclosure for equity."
       }
      }
     },
     "auth_ref": [
      "r161",
      "r248",
      "r378",
      "r380",
      "r382",
      "r383",
      "r384",
      "r385",
      "r386",
      "r387",
      "r388",
      "r389",
      "r390",
      "r392",
      "r394",
      "r545",
      "r716",
      "r717",
      "r737"
     ]
    },
    "us-gaap_SubsegmentsConsolidationItemsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SubsegmentsConsolidationItemsAxis",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsegments Consolidation Items [Axis]",
        "documentation": "Information by subsegments, eliminations and reconciling items used in consolidating a reportable segment and its subsegments."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SubsegmentsConsolidationItemsDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SubsegmentsConsolidationItemsDomain",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsegments Consolidation Items [Domain]",
        "documentation": "Subsegments, eliminations and reconciling items used in consolidating a reportable segment and its subsegments."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SubsequentEventsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SubsequentEventsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsequent Event"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SubsequentEventsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SubsequentEventsTextBlock",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSubsequentEvent"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsequent Events [Text Block]",
        "terseLabel": "Subsequent Event",
        "documentation": "The entire disclosure for significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business."
       }
      }
     },
     "auth_ref": [
      "r578",
      "r579"
     ]
    },
    "srt_SubsidiariesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "SubsidiariesMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosurePensionBenefitsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsidiaries [Member]",
        "terseLabel": "Subsidiaries"
       }
      }
     },
     "auth_ref": [
      "r934",
      "r979",
      "r980",
      "r982"
     ]
    },
    "inod_SubsidiaryRevenue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "SubsidiaryRevenue",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the value of subsidiary revenue.",
        "label": "Subsidiary Revenue",
        "terseLabel": "Indian subsidiary revenues"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SupplementalCashFlowInformationAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SupplementalCashFlowInformationAbstract",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Supplemental Cash Flow Information [Abstract]",
        "verboseLabel": "Supplemental disclosures of cash flow information:"
       }
      }
     },
     "auth_ref": []
    },
    "inod_SynodexMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "SynodexMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "It represents information pertaining to Synodex segment.",
        "label": "Synodex [Member]",
        "verboseLabel": "Synodex"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_TabularListTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TabularListTableTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Tabular List [Table Text Block]",
        "terseLabel": "Tabular List, Table"
       }
      }
     },
     "auth_ref": [
      "r843"
     ]
    },
    "us-gaap_TaxesPayableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TaxesPayableCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Taxes Payable, Current, Total",
        "verboseLabel": "Income and other taxes",
        "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable for statutory income, sales, use, payroll, excise, real, property and other taxes. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r31"
     ]
    },
    "us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TemporaryEquityForeignCurrencyTranslationAdjustments",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDeferredRevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Temporary Equity, Foreign Currency Translation Adjustments",
        "negatedLabel": "Currency translations and other adjustments",
        "documentation": "Adjustments to temporary equity resulting from foreign currency translation adjustments."
       }
      }
     },
     "auth_ref": []
    },
    "inod_ThreeClientsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "ThreeClientsMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "It represents the member of three client.",
        "label": "Three Clients [Member]",
        "terseLabel": "Three customer"
       }
      }
     },
     "auth_ref": []
    },
    "srt_TitleOfIndividualAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "TitleOfIndividualAxis",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of Individual [Axis]"
       }
      }
     },
     "auth_ref": [
      "r903",
      "r981"
     ]
    },
    "srt_TitleOfIndividualWithRelationshipToEntityDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "TitleOfIndividualWithRelationshipToEntityDomain",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Relationship to Entity [Domain]"
       }
      }
     },
     "auth_ref": []
    },
    "inod_TotalLongTermObligations": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "TotalLongTermObligations",
     "crdr": "credit",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureLongTermObligationsDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      },
      "http://www.innodata-isogen.com/role/DisclosureLongTermObligationsDetailsCalc2": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLongTermObligationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total amount of long-term obligations of the entity.",
        "label": "Total Long-Term Obligations",
        "totalLabel": "Total long-term obligations"
       }
      }
     },
     "auth_ref": []
    },
    "inod_TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureComprehensiveLossReclassificationsFromAccumulatedOtherComprehensiveLossDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Total after tax and before reclassification adjustments of other comprehensive income (loss).",
        "label": "Total Other Comprehensive Income (Loss) Before Reclassifications, Net Of Tax",
        "terseLabel": "Total other comprehensive loss before reclassifications, net of taxes"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_TotalShareholderRtnAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TotalShareholderRtnAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total Shareholder Return Amount",
        "terseLabel": "Total Shareholder Return Amount"
       }
      }
     },
     "auth_ref": [
      "r835"
     ]
    },
    "ecd_TotalShareholderRtnVsPeerGroupTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TotalShareholderRtnVsPeerGroupTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total Shareholder Return Vs Peer Group [Text Block]",
        "terseLabel": "Total Shareholder Return Vs Peer Group"
       }
      }
     },
     "auth_ref": [
      "r842"
     ]
    },
    "us-gaap_TradeAndOtherAccountsReceivablePolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TradeAndOtherAccountsReceivablePolicy",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trade and Other Accounts Receivable, Policy [Policy Text Block]",
        "terseLabel": "Accounts Receivable",
        "documentation": "Disclosure of accounting policy for accounts receivable."
       }
      }
     },
     "auth_ref": [
      "r187",
      "r188",
      "r189",
      "r318",
      "r319",
      "r321"
     ]
    },
    "us-gaap_TrademarksAndTradeNamesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TrademarksAndTradeNamesMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureGoodwillAndIntangibleAssetsAcquisitionRelatedIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trademarks and Trade Names [Member]",
        "terseLabel": "Trademarks and tradenames",
        "documentation": "Rights acquired through registration of a trademark to gain or protect exclusive use of a business name, symbol or other device or style, or rights either acquired through registration of a business name to gain or protect exclusive use thereof."
       }
      }
     },
     "auth_ref": [
      "r98"
     ]
    },
    "ecd_TradingArrAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TradingArrAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement [Axis]",
        "terseLabel": "Trading Arrangement:"
       }
      }
     },
     "auth_ref": [
      "r863"
     ]
    },
    "ecd_TradingArrByIndTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TradingArrByIndTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangements, by Individual [Table]",
        "terseLabel": "Trading Arrangements, by Individual"
       }
      }
     },
     "auth_ref": [
      "r865"
     ]
    },
    "dei_TradingSymbol": {
     "xbrltype": "tradingSymbolItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "TradingSymbol",
     "presentation": [
      "http://www.innodata-isogen.com/role/DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Symbol",
        "documentation": "Trading symbol of an instrument as listed on an exchange."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_TrdArrAdoptionDate": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TrdArrAdoptionDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement Adoption Date",
        "terseLabel": "Adoption Date"
       }
      }
     },
     "auth_ref": [
      "r866"
     ]
    },
    "ecd_TrdArrDuration": {
     "xbrltype": "durationItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TrdArrDuration",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement Duration",
        "terseLabel": "Arrangement Duration"
       }
      }
     },
     "auth_ref": [
      "r867"
     ]
    },
    "ecd_TrdArrIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TrdArrIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement, Individual Name",
        "terseLabel": "Name"
       }
      }
     },
     "auth_ref": [
      "r865"
     ]
    },
    "ecd_TrdArrIndTitle": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TrdArrIndTitle",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement, Individual Title",
        "terseLabel": "Title"
       }
      }
     },
     "auth_ref": [
      "r865"
     ]
    },
    "ecd_TrdArrSecuritiesAggAvailAmt": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TrdArrSecuritiesAggAvailAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement, Securities Aggregate Available Amount",
        "terseLabel": "Aggregate Available"
       }
      }
     },
     "auth_ref": [
      "r868"
     ]
    },
    "ecd_TrdArrTerminationDate": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "TrdArrTerminationDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement Termination Date",
        "terseLabel": "Termination Date"
       }
      }
     },
     "auth_ref": [
      "r866"
     ]
    },
    "us-gaap_TreasuryStockCommonMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TreasuryStockCommonMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureCapitalStockDetails",
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Treasury Stock [Member]",
        "terseLabel": "Treasury Stock",
        "documentation": "Previously issued common shares repurchased by the issuing entity and held in treasury."
       }
      }
     },
     "auth_ref": [
      "r81"
     ]
    },
    "us-gaap_TreasuryStockCommonShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TreasuryStockCommonShares",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheetsParenthetical",
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Treasury Stock, Shares",
        "periodEndLabel": "Balance at the end (in shares)",
        "periodStartLabel": "Balance at the beginning (in shares)",
        "terseLabel": "Treasury stock, shares",
        "documentation": "Number of previously issued common shares repurchased by the issuing entity and held in treasury."
       }
      }
     },
     "auth_ref": [
      "r81"
     ]
    },
    "us-gaap_TreasuryStockCommonValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TreasuryStockCommonValue",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureCapitalStockDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Treasury Stock, Common, Value",
        "terseLabel": "Treasury Stock, common value",
        "documentation": "Amount allocated to previously issued common shares repurchased by the issuing entity and held in treasury."
       }
      }
     },
     "auth_ref": [
      "r40",
      "r81",
      "r82"
     ]
    },
    "us-gaap_TreasuryStockValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TreasuryStockValue",
     "crdr": "debit",
     "calculation": {
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Treasury Stock Value",
        "negatedLabel": "Less: treasury stock, 3,184,000 shares at December 31, 2023 and 2022, at cost",
        "documentation": "The amount allocated to treasury stock. Treasury stock is common and preferred shares of an entity that were issued, repurchased by the entity, and are held in its treasury."
       }
      }
     },
     "auth_ref": [
      "r37",
      "r81",
      "r82"
     ]
    },
    "inod_TwoClientMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "TwoClientMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "It represents the member of two clients.",
        "label": "Two Client [Member]",
        "terseLabel": "Two customer"
       }
      }
     },
     "auth_ref": []
    },
    "inod_TwoThousandThirteenStockPlanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "TwoThousandThirteenStockPlanMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAdditionalInformationDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionActivityDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionAndRestrictedStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents Information regarding stock plan.",
        "label": "2013 Stock Plan [Member]",
        "terseLabel": "2013 Stock Plan",
        "verboseLabel": "2013 Stock Plan"
       }
      }
     },
     "auth_ref": []
    },
    "inod_TwoThousandTwentyOneEquityCompensationPlanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "TwoThousandTwentyOneEquityCompensationPlanMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAdditionalInformationDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionActivityDetails",
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsSummaryOfStockOptionAndRestrictedStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to 2021 Equity Compensation Plan.",
        "label": "2021 Stock Plan [Member]",
        "terseLabel": "2021 Stock Plan",
        "verboseLabel": "2021 Stock Plan"
       }
      }
     },
     "auth_ref": []
    },
    "inod_TwoThousandTwentyOneEquityCompensationPlanOtherMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "TwoThousandTwentyOneEquityCompensationPlanOtherMember",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureStockOptionsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Represents the information pertaining to other type of 2021 Equity Compensation Plan.",
        "label": "Two Thousand Twenty One Equity Compensation Plan, Other [Member]",
        "terseLabel": "Other type of award"
       }
      }
     },
     "auth_ref": []
    },
    "country_US": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2023",
     "localname": "US",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesDetails",
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsAdditionalInformationDetails",
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsLongLivedAssetsDetails",
      "http://www.innodata-isogen.com/role/DisclosureSegmentReportingAndConcentrationsRevenuesByGeographicRegionDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "UNITED STATES",
        "terseLabel": "United States"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_UndistributedEarningsOfForeignSubsidiaries": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UndistributedEarningsOfForeignSubsidiaries",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Undistributed Earnings of Foreign Subsidiaries",
        "terseLabel": "Foreign subsidiaries amount",
        "documentation": "Amount of undistributed earnings of foreign subsidiaries intended to be permanently reinvested outside the country of domicile."
       }
      }
     },
     "auth_ref": [
      "r17",
      "r18",
      "r493",
      "r524"
     ]
    },
    "ecd_UndrlygSecurityMktPriceChngPct": {
     "xbrltype": "pureItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "UndrlygSecurityMktPriceChngPct",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Underlying Security Market Price Change, Percent",
        "terseLabel": "Underlying Security Market Price Change"
       }
      }
     },
     "auth_ref": [
      "r862"
     ]
    },
    "us-gaap_UnrecognizedTaxBenefits": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UnrecognizedTaxBenefits",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDetails",
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesUnrecognizedTaxBenefitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Unrecognized Tax Benefits",
        "periodEndLabel": "Balance at December 31",
        "periodStartLabel": "Balance at January 1",
        "terseLabel": "Reserves for uncertain tax positions",
        "documentation": "Amount of unrecognized tax benefits."
       }
      }
     },
     "auth_ref": [
      "r494",
      "r502"
     ]
    },
    "us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesUnrecognizedTaxBenefitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Unrecognized Tax Benefits, Decrease Resulting from Prior Period Tax Positions",
        "negatedLabel": "Decrease for prior year tax positions",
        "documentation": "Amount of decrease in unrecognized tax benefits resulting from tax positions taken in prior period tax returns."
       }
      }
     },
     "auth_ref": [
      "r503"
     ]
    },
    "inod_UnrecognizedTaxBenefitsIncreaseDecreasesResultingFromForeignCurrencyTranslation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "UnrecognizedTaxBenefitsIncreaseDecreasesResultingFromForeignCurrencyTranslation",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesUnrecognizedTaxBenefitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of increase decrease in unrecognized tax benefits resulting from foreign currency translation.",
        "label": "Unrecognized Tax Benefits Increase Decreases Resulting From Foreign Currency Translation",
        "negatedLabel": "Foreign currency remeasurement"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesUnrecognizedTaxBenefitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Unrecognized Tax Benefits, Increase Resulting from Prior Period Tax Positions",
        "terseLabel": "Increase for current year tax positions",
        "documentation": "Amount of increase in unrecognized tax benefits resulting from tax positions taken in prior period tax returns."
       }
      }
     },
     "auth_ref": [
      "r503"
     ]
    },
    "us-gaap_UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense",
     "crdr": "debit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesUnrecognizedTaxBenefitsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Unrecognized Tax Benefits, Interest on Income Taxes Expense",
        "terseLabel": "Interest accrual",
        "documentation": "Amount of interest expense for an underpayment of income taxes."
       }
      }
     },
     "auth_ref": [
      "r962"
     ]
    },
    "us-gaap_UseOfEstimates": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UseOfEstimates",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureDescriptionOfBusinessAndSummaryOfSignificantAccountingEstimatesAndPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Use Of Estimates, Policy [Policy Text Block]",
        "terseLabel": "Use of Estimates",
        "documentation": "Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles."
       }
      }
     },
     "auth_ref": [
      "r54",
      "r55",
      "r56",
      "r191",
      "r192",
      "r195",
      "r196"
     ]
    },
    "us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ValuationAllowanceDeferredTaxAssetChangeInAmount",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureIncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Valuation Allowance, Deferred Tax Asset, Increase (Decrease), Amount",
        "terseLabel": "Increase in total valuation allowance",
        "documentation": "Amount of increase (decrease) in the valuation allowance for a specified deferred tax asset."
       }
      }
     },
     "auth_ref": [
      "r506"
     ]
    },
    "us-gaap_VariableRateAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "VariableRateAxis",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLineOfCreditDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Variable Rate [Axis]",
        "documentation": "Information by type of variable rate."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_VariableRateDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "VariableRateDomain",
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLineOfCreditDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Variable Rate [Domain]",
        "documentation": "Interest rate that fluctuates over time as a result of an underlying benchmark interest rate or index."
       }
      }
     },
     "auth_ref": []
    },
    "inod_VendorFinancedSoftwareLicensesAcquired": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.innodata-isogen.com/20231231",
     "localname": "VendorFinancedSoftwareLicensesAcquired",
     "crdr": "credit",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The amount of non cash vendor financed software licenses acquired.",
        "label": "Vendor Financed Software Licenses Acquired",
        "terseLabel": "Vendor financed software licenses acquired"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "WeightedAverageNumberOfDilutedSharesOutstanding",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureLossPerShareDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLossPerShareDetails",
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted Average Number of Shares Outstanding, Diluted",
        "totalLabel": "Adjusted for dilutive computation",
        "verboseLabel": "Diluted (in shares)",
        "documentation": "The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period."
       }
      }
     },
     "auth_ref": [
      "r269",
      "r274"
     ]
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "WeightedAverageNumberOfSharesOutstandingAbstract",
     "presentation": [
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted Average Number Of Shares Outstanding [Abstract]",
        "verboseLabel": "Weighted average shares outstanding:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "WeightedAverageNumberOfSharesOutstandingBasic",
     "calculation": {
      "http://www.innodata-isogen.com/role/DisclosureLossPerShareDetails": {
       "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.innodata-isogen.com/role/DisclosureLossPerShareDetails",
      "http://www.innodata-isogen.com/role/StatementConsolidatedStatementsOfOperationsAndComprehensiveLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted Average Number of Shares Outstanding, Basic",
        "terseLabel": "Basic (in shares)",
        "verboseLabel": "Weighted average common shares outstanding",
        "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period."
       }
      }
     },
     "auth_ref": [
      "r268",
      "r274"
     ]
    }
   }
  }
 },
 "std_ref": {
  "r0": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "05",
   "Paragraph": "4",
   "SubTopic": "10",
   "Topic": "360",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482338/360-10-05-4"
  },
  "r1": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "1",
   "SubTopic": "20",
   "Topic": "940",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481913/940-20-25-1"
  },
  "r2": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "SubTopic": "230",
   "Topic": "830",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481877/830-230-45-1"
  },
  "r3": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "SubTopic": "10",
   "Topic": "220",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A"
  },
  "r4": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "220",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A"
  },
  "r5": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "Subparagraph": "(a),(b),(c)",
   "SubTopic": "10",
   "Topic": "220",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A"
  },
  "r6": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "Subparagraph": "(i),(j),(k)",
   "SubTopic": "10",
   "Topic": "220",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A"
  },
  "r7": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "Subparagraph": "(i-k)",
   "SubTopic": "10",
   "Topic": "220",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A"
  },
  "r8": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "14",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-14"
  },
  "r9": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "SubTopic": "10",
   "Topic": "810",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-20"
  },
  "r10": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r11": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r12": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "10",
   "Topic": "360",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1"
  },
  "r13": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "10",
   "Topic": "825",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-1"
  },
  "r14": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "20",
   "Topic": "715",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r15": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "30",
   "Topic": "350",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1"
  },
  "r16": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "30",
   "Topic": "715",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481097/715-30-50-1"
  },
  "r17": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "SubTopic": "740",
   "Topic": "942",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481141/942-740-50-1"
  },
  "r18": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "SubTopic": "740",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480135/944-740-50-1"
  },
  "r19": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Subparagraph": "(e)",
   "SubTopic": "10",
   "Topic": "740",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15"
  },
  "r20": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(c),(3)",
   "SubTopic": "10",
   "Topic": "810",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A"
  },
  "r21": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "SubTopic": "10",
   "Topic": "505",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-2"
  },
  "r22": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "SubTopic": "10",
   "Topic": "815",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-2"
  },
  "r23": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "SubTopic": "80",
   "Topic": "715",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-2"
  },
  "r24": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "SubTopic": "10",
   "Topic": "718",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r25": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)",
   "SubTopic": "10",
   "Topic": "718",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r26": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2A",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "718",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2A"
  },
  "r27": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "15",
   "SubTopic": "10",
   "Topic": "220",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482739/220-10-55-15"
  },
  "r28": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "60",
   "Paragraph": "1",
   "SubTopic": "10",
   "Topic": "820",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482053/820-10-60-1"
  },
  "r29": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.19(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r30": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.19(b),22(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r31": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.19,20)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r32": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.19-26)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r33": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.20)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r34": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.21)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r35": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.25)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r36": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.29)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r37": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.29,30)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r38": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.29-31)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r39": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.3,4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r40": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.30)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r41": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-14"
  },
  "r42": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "14A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-14A"
  },
  "r43": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-5"
  },
  "r44": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "15",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15"
  },
  "r45": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25"
  },
  "r46": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-4"
  },
  "r47": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-1"
  },
  "r48": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-2"
  },
  "r49": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "260",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1"
  },
  "r50": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "260",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-2"
  },
  "r51": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "18",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18"
  },
  "r52": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18"
  },
  "r53": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "20",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-20"
  },
  "r54": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-4"
  },
  "r55": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-8"
  },
  "r56": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-9"
  },
  "r57": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r58": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "25",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-25"
  },
  "r59": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "30",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r60": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "41",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41"
  },
  "r61": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "41",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41"
  },
  "r62": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r63": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482686/350-30-45-1"
  },
  "r64": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482686/350-30-45-2"
  },
  "r65": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1"
  },
  "r66": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "((a)(1),(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r67": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r68": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r69": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "480",
   "SubTopic": "10",
   "Section": "55",
   "Paragraph": "63",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481620/480-10-55-63"
  },
  "r70": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "480",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(CFRR 211.02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480244/480-10-S99-1"
  },
  "r71": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "480",
   "SubTopic": "10",
   "Subparagraph": "(12)(c)",
   "Section": "S99",
   "Paragraph": "3A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480244/480-10-S99-3A"
  },
  "r72": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "480",
   "SubTopic": "10",
   "Subparagraph": "(16)(c)",
   "Paragraph": "3A",
   "Section": "S99",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480244/480-10-S99-3A"
  },
  "r73": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "480",
   "SubTopic": "10",
   "Subparagraph": "14",
   "Paragraph": "3A",
   "Section": "S99",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480244/480-10-S99-3A"
  },
  "r74": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "480",
   "SubTopic": "10",
   "Subparagraph": "15",
   "Paragraph": "3A",
   "Section": "S99",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480244/480-10-S99-3A"
  },
  "r75": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481142/505-10-45-2"
  },
  "r76": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-10"
  },
  "r77": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-3"
  },
  "r78": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-4"
  },
  "r79": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-5"
  },
  "r80": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-8"
  },
  "r81": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "30",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481549/505-30-45-1"
  },
  "r82": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481520/505-30-50-4"
  },
  "r83": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r84": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-2"
  },
  "r85": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-3"
  },
  "r86": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-4"
  },
  "r87": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480482/715-20-55-17"
  },
  "r88": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "715",
   "SubTopic": "70",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480794/715-70-50-1"
  },
  "r89": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r90": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r91": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r92": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481089/718-20-55-12"
  },
  "r93": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481089/718-20-55-13"
  },
  "r94": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "740",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-3"
  },
  "r95": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "740",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-8"
  },
  "r96": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "10",
   "Section": "05",
   "Paragraph": "4",
   "Subparagraph": "(a)-(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479515/805-10-05-4"
  },
  "r97": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479907/805-20-50-1"
  },
  "r98": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "14",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-14"
  },
  "r99": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "20",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-20"
  },
  "r100": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "805",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "38",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-38"
  },
  "r101": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-21"
  },
  "r102": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1"
  },
  "r103": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "55",
   "Paragraph": "4J",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481175/810-10-55-4J"
  },
  "r104": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "55",
   "Paragraph": "4K",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481175/810-10-55-4K"
  },
  "r105": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-1"
  },
  "r106": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-1A"
  },
  "r107": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4"
  },
  "r108": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4A"
  },
  "r109": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4A",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4A"
  },
  "r110": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4B"
  },
  "r111": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4B",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4B"
  },
  "r112": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4B"
  },
  "r113": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4C",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4C"
  },
  "r114": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4D",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4D"
  },
  "r115": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-7"
  },
  "r116": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "10",
   "Section": "55",
   "Paragraph": "182",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480401/815-10-55-182"
  },
  "r117": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "40",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480237/815-40-50-4"
  },
  "r118": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "815",
   "SubTopic": "40",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480237/815-40-50-5"
  },
  "r119": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "825",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "20",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-20"
  },
  "r120": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "825",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-21"
  },
  "r121": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "210",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03.15)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r122": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "210",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03.17)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r123": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "210",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03.5)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r124": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "825",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480981/942-825-50-1"
  },
  "r125": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(20))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r126": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(24))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r127": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(26)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r128": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(26)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r129": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(28))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r130": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(29))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r131": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r132": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r133": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r134": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(31))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r135": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(32))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r136": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//220/tableOfContent"
  },
  "r137": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-11"
  },
  "r138": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r139": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(10))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r140": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(20))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r141": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r142": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r143": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r144": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r145": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "13",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13"
  },
  "r146": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24"
  },
  "r147": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25"
  },
  "r148": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r149": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "235",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//235/tableOfContent"
  },
  "r150": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "250",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//250/tableOfContent"
  },
  "r151": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "275",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//275/tableOfContent"
  },
  "r152": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 4.E)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480418/310-10-S99-2"
  },
  "r153": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "350",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//350/tableOfContent"
  },
  "r154": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r155": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r156": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "360",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//360/tableOfContent"
  },
  "r157": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1"
  },
  "r158": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 5.CC)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480091/360-10-S99-2"
  },
  "r159": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "440",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//440/tableOfContent"
  },
  "r160": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "470",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//470/tableOfContent"
  },
  "r161": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//505/tableOfContent"
  },
  "r162": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-6"
  },
  "r163": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-7"
  },
  "r164": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.3-04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1"
  },
  "r165": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "715",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r166": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "715",
   "SubTopic": "20",
   "Subparagraph": "(f)",
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r167": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "715",
   "SubTopic": "20",
   "Subparagraph": "(h)",
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r168": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "718",
   "SubTopic": "10",
   "Subparagraph": "(e)(1)",
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r169": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "718",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)",
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r170": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-12"
  },
  "r171": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2"
  },
  "r172": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9"
  },
  "r173": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r174": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "38",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-38"
  },
  "r175": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "810",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//810/tableOfContent"
  },
  "r176": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "19",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-19"
  },
  "r177": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A"
  },
  "r178": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "815",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//815/tableOfContent"
  },
  "r179": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480237/815-40-50-3"
  },
  "r180": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(11))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r181": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(15)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r182": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r183": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r184": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r185": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r186": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "985",
   "SubTopic": "730",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//985-730/tableOfContent"
  },
  "r187": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11B",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "310",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-11B"
  },
  "r188": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Subparagraph": "(d)",
   "SubTopic": "10",
   "Topic": "310",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-15"
  },
  "r189": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "SubTopic": "10",
   "Topic": "310",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-6"
  },
  "r190": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "SubTopic": "20",
   "Topic": "740",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482659/740-20-45-2"
  },
  "r191": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1"
  },
  "r192": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1"
  },
  "r193": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1"
  },
  "r194": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "SubTopic": "360",
   "Topic": "958",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-1"
  },
  "r195": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-11"
  },
  "r196": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-12"
  },
  "r197": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14",
   "SubTopic": "30",
   "Topic": "842",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479773/842-30-50-14"
  },
  "r198": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3A",
   "Subparagraph": "(a)",
   "SubTopic": "30",
   "Topic": "842",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479773/842-30-50-3A"
  },
  "r199": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3A",
   "Subparagraph": "(b)",
   "SubTopic": "30",
   "Topic": "842",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479773/842-30-50-3A"
  },
  "r200": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "SubTopic": "360",
   "Topic": "958",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-6"
  },
  "r201": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "SubTopic": "360",
   "Topic": "958",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-7"
  },
  "r202": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "740",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9"
  },
  "r203": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h))",
   "SubTopic": "10",
   "Topic": "235",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r204": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Topic": "606",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//606/tableOfContent"
  },
  "r205": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "105",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479343/105-10-65-6"
  },
  "r206": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "205",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-1"
  },
  "r207": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "205",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-7"
  },
  "r208": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1"
  },
  "r209": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-5"
  },
  "r210": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r211": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r212": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(16))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r213": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r214": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(18))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r215": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(27)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r216": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(28))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r217": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(29))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r218": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(3)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r219": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30)(a)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r220": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r221": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r222": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A"
  },
  "r223": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-11"
  },
  "r224": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "14A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-14A"
  },
  "r225": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A"
  },
  "r226": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1A",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A"
  },
  "r227": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1A",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A"
  },
  "r228": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1B"
  },
  "r229": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1B"
  },
  "r230": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-1"
  },
  "r231": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-4"
  },
  "r232": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-5"
  },
  "r233": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-6"
  },
  "r234": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r235": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(21))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r236": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r237": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r238": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(24))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r239": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(25))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r240": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r241": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "17",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-17"
  },
  "r242": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-2"
  },
  "r243": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24"
  },
  "r244": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25"
  },
  "r245": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-2"
  },
  "r246": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-8"
  },
  "r247": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r248": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(e)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r249": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r250": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r251": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r252": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(n))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r253": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-04(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-3"
  },
  "r254": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "23",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23"
  },
  "r255": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24"
  },
  "r256": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5"
  },
  "r257": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1"
  },
  "r258": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1"
  },
  "r259": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11"
  },
  "r260": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11"
  },
  "r261": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-3"
  },
  "r262": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-4"
  },
  "r263": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7"
  },
  "r264": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7"
  },
  "r265": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-8"
  },
  "r266": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-9"
  },
  "r267": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//260/tableOfContent"
  },
  "r268": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-10"
  },
  "r269": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "16",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-16"
  },
  "r270": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-2"
  },
  "r271": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "60B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B"
  },
  "r272": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "60B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B"
  },
  "r273": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-7"
  },
  "r274": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1"
  },
  "r275": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1"
  },
  "r276": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-2"
  },
  "r277": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-3"
  },
  "r278": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-15"
  },
  "r279": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "272",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483014/272-10-45-1"
  },
  "r280": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "272",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482987/272-10-50-1"
  },
  "r281": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//280/tableOfContent"
  },
  "r282": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-15"
  },
  "r283": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-21"
  },
  "r284": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-21"
  },
  "r285": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r286": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r287": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r288": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r289": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r290": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r291": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r292": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r293": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r294": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(j)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r295": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "25",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-25"
  },
  "r296": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "25",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-25"
  },
  "r297": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "26",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-26"
  },
  "r298": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r299": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r300": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r301": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r302": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-31"
  },
  "r303": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r304": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r305": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r306": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r307": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r308": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r309": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "34",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-34"
  },
  "r310": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "40",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-40"
  },
  "r311": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "41",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41"
  },
  "r312": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "41",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41"
  },
  "r313": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "41",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41"
  },
  "r314": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "42",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-42"
  },
  "r315": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//310/tableOfContent"
  },
  "r316": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-2"
  },
  "r317": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-9"
  },
  "r318": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-1"
  },
  "r319": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-2"
  },
  "r320": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-4"
  },
  "r321": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481569/310-20-50-1"
  },
  "r322": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3"
  },
  "r323": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//326/tableOfContent"
  },
  "r324": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "4",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4"
  },
  "r325": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "5",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-5"
  },
  "r326": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479344/326-20-45-1"
  },
  "r327": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13"
  },
  "r328": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13"
  },
  "r329": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482598/350-20-45-1"
  },
  "r330": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482598/350-20-45-2"
  },
  "r331": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r332": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r333": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r334": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r335": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r336": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r337": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r338": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r339": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r340": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-2"
  },
  "r341": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1"
  },
  "r342": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1"
  },
  "r343": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r344": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r345": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-3"
  },
  "r346": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1"
  },
  "r347": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 5.P.4(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-2"
  },
  "r348": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "440",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482648/440-10-50-4"
  },
  "r349": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "440",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482648/440-10-50-4"
  },
  "r350": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-4"
  },
  "r351": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9"
  },
  "r352": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.Y.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1"
  },
  "r353": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.Y.Q4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1"
  },
  "r354": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r355": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r356": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii)(B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r357": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iv))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r358": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r359": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r360": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r361": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r362": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r363": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r364": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(C))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r365": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iv))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r366": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r367": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r368": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r369": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r370": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r371": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1C",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C"
  },
  "r372": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1C",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C"
  },
  "r373": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1C",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C"
  },
  "r374": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1E",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E"
  },
  "r375": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1I",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I"
  },
  "r376": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1I",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I"
  },
  "r377": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1I",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I"
  },
  "r378": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13"
  },
  "r379": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13"
  },
  "r380": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13"
  },
  "r381": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13"
  },
  "r382": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13"
  },
  "r383": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13"
  },
  "r384": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13"
  },
  "r385": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-14"
  },
  "r386": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-14"
  },
  "r387": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-14"
  },
  "r388": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "16",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-16"
  },
  "r389": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18"
  },
  "r390": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18"
  },
  "r391": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18"
  },
  "r392": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18"
  },
  "r393": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-2"
  },
  "r394": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.3-04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1"
  },
  "r395": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-17"
  },
  "r396": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-18"
  },
  "r397": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-18"
  },
  "r398": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "19",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-19"
  },
  "r399": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-20"
  },
  "r400": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-20"
  },
  "r401": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-20"
  },
  "r402": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-20"
  },
  "r403": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//715/tableOfContent"
  },
  "r404": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480535/715-20-45-2"
  },
  "r405": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480535/715-20-45-3"
  },
  "r406": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480535/715-20-45-3A"
  },
  "r407": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3A",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480535/715-20-45-3A"
  },
  "r408": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r409": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r410": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(10)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r411": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r412": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r413": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(6)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r414": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r415": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r416": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r417": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r418": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r419": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r420": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r421": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r422": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r423": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r424": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r425": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)(7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r426": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(k)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r427": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(k)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r428": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(k)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r429": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(l)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r430": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(n)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r431": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(o)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r432": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(p)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r433": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(q)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r434": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(r)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r435": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(r)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r436": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6"
  },
  "r437": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6"
  },
  "r438": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6"
  },
  "r439": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6"
  },
  "r440": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6"
  },
  "r441": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480126/715-20-S99-2"
  },
  "r442": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "60",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480266/715-60-50-3"
  },
  "r443": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "60",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480266/715-60-50-4"
  },
  "r444": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "70",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480794/715-70-50-1"
  },
  "r445": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5"
  },
  "r446": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//718/tableOfContent"
  },
  "r447": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-1D"
  },
  "r448": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-2"
  },
  "r449": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-3"
  },
  "r450": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r451": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r452": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r453": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r454": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r455": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r456": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r457": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r458": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r459": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r460": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r461": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r462": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r463": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r464": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r465": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r466": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r467": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r468": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r469": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r470": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r471": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r472": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r473": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r474": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r475": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r476": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r477": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r478": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r479": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(v)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r480": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r481": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r482": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r483": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(l)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r484": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "15",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15"
  },
  "r485": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "15",
   "Subparagraph": "(f)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15"
  },
  "r486": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "15",
   "Subparagraph": "(f)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15"
  },
  "r487": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 14.C.Q3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1"
  },
  "r488": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 14.D.1.Q5)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1"
  },
  "r489": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 14.D.2.Q6)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1"
  },
  "r490": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 14.D.3.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1"
  },
  "r491": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "730",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483041/730-20-50-1"
  },
  "r492": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//740/tableOfContent"
  },
  "r493": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "3",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482620/740-10-25-3"
  },
  "r494": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-10B"
  },
  "r495": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-25"
  },
  "r496": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-28"
  },
  "r497": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-4"
  },
  "r498": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-6"
  },
  "r499": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-10"
  },
  "r500": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-12"
  },
  "r501": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-14"
  },
  "r502": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15A"
  },
  "r503": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15A",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15A"
  },
  "r504": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "17",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-17"
  },
  "r505": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "19",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-19"
  },
  "r506": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2"
  },
  "r507": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2"
  },
  "r508": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2"
  },
  "r509": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2"
  },
  "r510": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-20"
  },
  "r511": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-21"
  },
  "r512": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9"
  },
  "r513": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9"
  },
  "r514": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8"
  },
  "r515": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(d)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8"
  },
  "r516": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB TOPIC 6.I.5.Q1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r517": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB TOPIC 6.I.7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r518": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.Fact.1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r519": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.Fact.2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r520": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.Fact.3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r521": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 11.C)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-2"
  },
  "r522": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "270",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482526/740-270-50-1"
  },
  "r523": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482603/740-30-50-2"
  },
  "r524": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482603/740-30-50-2"
  },
  "r525": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "19",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-19"
  },
  "r526": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25"
  },
  "r527": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25"
  },
  "r528": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A"
  },
  "r529": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A"
  },
  "r530": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(c)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A"
  },
  "r531": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(bb)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3"
  },
  "r532": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3"
  },
  "r533": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4A",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4A"
  },
  "r534": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4C",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4C"
  },
  "r535": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4E",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4E"
  },
  "r536": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5C",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-5C"
  },
  "r537": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480627/815-20-45-3"
  },
  "r538": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r539": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r540": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r541": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r542": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r543": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(i)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r544": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480237/815-40-50-5"
  },
  "r545": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480237/815-40-50-6"
  },
  "r546": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r547": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r548": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r549": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "28",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28"
  },
  "r550": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//830/tableOfContent"
  },
  "r551": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481839/830-10-45-17"
  },
  "r552": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482014/830-20-35-1"
  },
  "r553": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481956/830-20-45-1"
  },
  "r554": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481926/830-20-50-1"
  },
  "r555": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "230",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481877/830-230-45-1"
  },
  "r556": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-17"
  },
  "r557": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20"
  },
  "r558": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20"
  },
  "r559": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20"
  },
  "r560": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20"
  },
  "r561": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20"
  },
  "r562": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481674/830-30-50-1"
  },
  "r563": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//842-20/tableOfContent"
  },
  "r564": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "40",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479092/842-20-40-1"
  },
  "r565": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1"
  },
  "r566": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1"
  },
  "r567": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-5"
  },
  "r568": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-3"
  },
  "r569": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(g)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r570": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(g)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r571": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(g)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r572": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-6"
  },
  "r573": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479773/842-30-50-1"
  },
  "r574": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "848",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)(iii)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483550/848-10-65-2"
  },
  "r575": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-1"
  },
  "r576": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-1"
  },
  "r577": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "852",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481435/852-10-45-14"
  },
  "r578": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "855",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//855/tableOfContent"
  },
  "r579": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "855",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483399/855-10-50-2"
  },
  "r580": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r581": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "910",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482546/910-10-50-6"
  },
  "r582": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "924",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 11.L)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479941/924-10-S99-1"
  },
  "r583": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "926",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483154/926-20-50-5"
  },
  "r584": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "928",
   "SubTopic": "340",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483147/928-340-50-1"
  },
  "r585": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-15"
  },
  "r586": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-15"
  },
  "r587": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-20"
  },
  "r588": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-20"
  },
  "r589": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "28",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-28"
  },
  "r590": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "28",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-28"
  },
  "r591": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "33",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-33"
  },
  "r592": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "33",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-33"
  },
  "r593": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "35A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-35A"
  },
  "r594": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "35A",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-35A"
  },
  "r595": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-8"
  },
  "r596": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-8"
  },
  "r597": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(10)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r598": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(11))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r599": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r600": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(24))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r601": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(25))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r602": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(26))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r603": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(27))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r604": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-05(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479557/942-235-S99-1"
  },
  "r605": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480842/942-360-50-1"
  },
  "r606": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(1)(g))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r607": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(12))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r608": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(15)(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r609": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r610": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(21))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r611": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r612": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r613": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r614": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(25))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r615": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(8)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r616": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r617": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(11))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r618": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(16))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r619": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r620": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(18))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r621": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r622": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(20))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r623": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(21))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r624": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r625": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r626": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(3)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r627": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r628": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r629": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r630": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column C))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r631": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column D))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r632": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r633": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column F))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r634": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column G))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r635": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column H))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r636": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column I))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r637": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column J))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r638": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-16(Column K))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1"
  },
  "r639": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-7A"
  },
  "r640": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r641": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(f)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r642": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r643": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r644": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r645": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(h)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r646": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "825",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479383/944-825-50-1B"
  },
  "r647": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3"
  },
  "r648": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(f)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3"
  },
  "r649": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(f)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3"
  },
  "r650": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(f)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3"
  },
  "r651": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(h)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3"
  },
  "r652": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(i)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3"
  },
  "r653": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(i)(2)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3"
  },
  "r654": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(i)(2)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3"
  },
  "r655": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(i)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3"
  },
  "r656": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-11"
  },
  "r657": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-13"
  },
  "r658": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-3"
  },
  "r659": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4"
  },
  "r660": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480555/946-210-45-4"
  },
  "r661": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1"
  },
  "r662": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-2"
  },
  "r663": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6"
  },
  "r664": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6"
  },
  "r665": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6"
  },
  "r666": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6"
  },
  "r667": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r668": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r669": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r670": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r671": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(13)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r672": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(13)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r673": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(14))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r674": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r675": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(16)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r676": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r677": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r678": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(2)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r679": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(2)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r680": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r681": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r682": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r683": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r684": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r685": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r686": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(e))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r687": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r688": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r689": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r690": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r691": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(e))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r692": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.6-05(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2"
  },
  "r693": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.6-05(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2"
  },
  "r694": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-3"
  },
  "r695": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-7"
  },
  "r696": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r697": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(2)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r698": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r699": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r700": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r701": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r702": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r703": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r704": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r705": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r706": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r707": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r708": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r709": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r710": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r711": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r712": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(1)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r713": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(4)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r714": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r715": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r716": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481062/946-235-50-2"
  },
  "r717": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481062/946-235-50-2"
  },
  "r718": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480833/946-310-45-1"
  },
  "r719": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1"
  },
  "r720": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column C)(Footnote 5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1"
  },
  "r721": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "12",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-12"
  },
  "r722": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "19",
   "Subparagraph": "(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-19"
  },
  "r723": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2"
  },
  "r724": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column C)(Footnote 4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2"
  },
  "r725": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3"
  },
  "r726": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3"
  },
  "r727": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column C)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3"
  },
  "r728": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5",
   "Subparagraph": "(SX 210.12-13(Column A)(Footnote 3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5"
  },
  "r729": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5",
   "Subparagraph": "(SX 210.12-13(Column G)(Footnote 8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5"
  },
  "r730": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5B",
   "Subparagraph": "(SX 210.12-13B(Column A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5B"
  },
  "r731": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5B",
   "Subparagraph": "(SX 210.12-13B(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5B"
  },
  "r732": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5B",
   "Subparagraph": "(SX 210.12-13B(Column E)(Footnote 4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5B"
  },
  "r733": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5C",
   "Subparagraph": "(SX 210.12-13C(Column H)(Footnote 7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5C"
  },
  "r734": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6"
  },
  "r735": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column F)(Footnote 7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6"
  },
  "r736": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2"
  },
  "r737": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-6"
  },
  "r738": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "948",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-29(Footnote 4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479851/948-310-S99-1"
  },
  "r739": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "954",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481027/954-310-50-2"
  },
  "r740": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "954",
   "SubTopic": "440",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480327/954-440-50-1"
  },
  "r741": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r742": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column C))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r743": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column D))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r744": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r745": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column F))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r746": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column G))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r747": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column H))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r748": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column I))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r749": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r750": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Footnote 4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r751": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "976",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482856/976-310-50-1"
  },
  "r752": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "978",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482707/978-310-50-1"
  },
  "r753": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(e)",
   "SubTopic": "10",
   "Topic": "235",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-4"
  },
  "r754": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "13H",
   "Subparagraph": "(b)",
   "SubTopic": "40",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H"
  },
  "r755": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "38",
   "Subparagraph": "(b)",
   "SubTopic": "20",
   "Topic": "805",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-38"
  },
  "r756": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1"
  },
  "r757": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1"
  },
  "r758": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483444/210-20-55-22"
  },
  "r759": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482739/220-10-55-15"
  },
  "r760": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-4"
  },
  "r761": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-4"
  },
  "r762": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "52",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-52"
  },
  "r763": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r764": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-31"
  },
  "r765": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "12A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481933/310-10-55-12A"
  },
  "r766": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482548/350-20-55-24"
  },
  "r767": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13"
  },
  "r768": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r769": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r770": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480482/715-20-55-17"
  },
  "r771": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "18",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480482/715-20-55-18"
  },
  "r772": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480547/715-80-55-8"
  },
  "r773": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r774": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r775": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "217",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482663/740-10-55-217"
  },
  "r776": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "4J",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481175/810-10-55-4J"
  },
  "r777": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "4K",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481175/810-10-55-4K"
  },
  "r778": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "53",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479589/842-20-55-53"
  },
  "r779": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "852",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481372/852-10-55-10"
  },
  "r780": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "29F",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-29F"
  },
  "r781": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1"
  },
  "r782": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6"
  },
  "r783": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480493/946-210-55-1"
  },
  "r784": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480833/946-310-45-1"
  },
  "r785": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1"
  },
  "r786": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2"
  },
  "r787": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3"
  },
  "r788": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6"
  },
  "r789": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "830",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-10"
  },
  "r790": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "830",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-11"
  },
  "r791": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "830",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-12"
  },
  "r792": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b"
  },
  "r793": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r794": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r795": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 10-K",
   "Number": "249",
   "Section": "310"
  },
  "r796": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Number": "249",
   "Section": "220",
   "Subsection": "f"
  },
  "r797": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "16",
   "Subsection": "J",
   "Paragraph": "a"
  },
  "r798": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1"
  },
  "r799": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i"
  },
  "r800": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "A"
  },
  "r801": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "B"
  },
  "r802": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "C"
  },
  "r803": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "D"
  },
  "r804": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "E"
  },
  "r805": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "ii"
  },
  "r806": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "iii"
  },
  "r807": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "2"
  },
  "r808": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "ii",
   "Section": "6"
  },
  "r809": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Number": "249",
   "Section": "240",
   "Subsection": "f"
  },
  "r810": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a"
  },
  "r811": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1"
  },
  "r812": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "i"
  },
  "r813": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "ii"
  },
  "r814": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iii"
  },
  "r815": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iv"
  },
  "r816": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "v"
  },
  "r817": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "2"
  },
  "r818": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "3"
  },
  "r819": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "b"
  },
  "r820": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a"
  },
  "r821": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1"
  },
  "r822": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "i"
  },
  "r823": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "ii"
  },
  "r824": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iii"
  },
  "r825": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iv"
  },
  "r826": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "v"
  },
  "r827": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "2"
  },
  "r828": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "3"
  },
  "r829": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "b"
  },
  "r830": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Forms 10-K, 10-Q, 20-F",
   "Number": "240",
   "Section": "13",
   "Subsection": "a-1"
  },
  "r831": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v"
  },
  "r832": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "1"
  },
  "r833": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "ii"
  },
  "r834": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii"
  },
  "r835": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iv"
  },
  "r836": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "vi"
  },
  "r837": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "3"
  },
  "r838": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "4"
  },
  "r839": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "i"
  },
  "r840": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "ii"
  },
  "r841": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "iii"
  },
  "r842": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "iv"
  },
  "r843": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "6"
  },
  "r844": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "6",
   "Subparagraph": "i"
  },
  "r845": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w"
  },
  "r846": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1"
  },
  "r847": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i"
  },
  "r848": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "A"
  },
  "r849": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "B"
  },
  "r850": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "C"
  },
  "r851": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "D"
  },
  "r852": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "E"
  },
  "r853": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "ii"
  },
  "r854": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "iii"
  },
  "r855": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "2"
  },
  "r856": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "1"
  },
  "r857": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2"
  },
  "r858": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "A"
  },
  "r859": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "C"
  },
  "r860": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "D"
  },
  "r861": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "E"
  },
  "r862": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "F"
  },
  "r863": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a"
  },
  "r864": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "1"
  },
  "r865": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "A"
  },
  "r866": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "B"
  },
  "r867": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "C"
  },
  "r868": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "D"
  },
  "r869": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "b",
   "Paragraph": "1"
  },
  "r870": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-T",
   "Number": "232",
   "Section": "405"
  },
  "r871": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "405"
  },
  "r872": {
   "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef",
   "Topic": "272",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483014/272-10-45-3"
  },
  "r873": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "2",
   "SubTopic": "740",
   "Topic": "718",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480887/718-740-35-2"
  },
  "r874": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "SubTopic": "20",
   "Topic": "842",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1"
  },
  "r875": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "SubTopic": "20",
   "Topic": "842",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-4"
  },
  "r876": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18"
  },
  "r877": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "SubTopic": "825",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479383/944-825-50-1B"
  },
  "r878": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "SubTopic": "40",
   "Topic": "340",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479483/340-40-50-2"
  },
  "r879": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "SubTopic": "20",
   "Topic": "842",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r880": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4H",
   "SubTopic": "40",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-4H"
  },
  "r881": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "740",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9"
  },
  "r882": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r883": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(18))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r884": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(26)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r885": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r886": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r887": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-4"
  },
  "r888": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-5"
  },
  "r889": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-6"
  },
  "r890": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "12",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-12"
  },
  "r891": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "13",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13"
  },
  "r892": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r893": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "9",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-9"
  },
  "r894": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r895": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(f))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r896": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r897": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h)(1)(Note 1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r898": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "23",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23"
  },
  "r899": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24"
  },
  "r900": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5"
  },
  "r901": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1"
  },
  "r902": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-18"
  },
  "r903": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-13"
  },
  "r904": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3"
  },
  "r905": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13"
  },
  "r906": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r907": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r908": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r909": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r910": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r911": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r912": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r913": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r914": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r915": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1A"
  },
  "r916": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-2"
  },
  "r917": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1"
  },
  "r918": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r919": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1"
  },
  "r920": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1"
  },
  "r921": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1"
  },
  "r922": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "410",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481931/410-30-50-10"
  },
  "r923": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//450/tableOfContent"
  },
  "r924": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-1"
  },
  "r925": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r926": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r927": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r928": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iv))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r929": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iv))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r930": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r931": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-5"
  },
  "r932": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "712",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481179/712-10-25-4"
  },
  "r933": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "712",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481179/712-10-25-5"
  },
  "r934": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(n)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r935": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r936": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r937": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r938": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r939": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r940": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r941": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r942": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r943": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r944": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r945": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r946": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r947": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r948": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r949": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r950": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r951": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r952": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r953": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r954": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r955": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r956": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r957": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r958": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r959": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r960": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(v)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r961": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-12"
  },
  "r962": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15"
  },
  "r963": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15A"
  },
  "r964": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2"
  },
  "r965": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-6"
  },
  "r966": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9"
  },
  "r967": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r968": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.Fact.4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r969": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-1A"
  },
  "r970": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "815",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-1B"
  },
  "r971": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "6A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480682/815-20-25-6A"
  },
  "r972": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r973": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "28",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28"
  },
  "r974": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20"
  },
  "r975": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481674/830-30-50-1"
  },
  "r976": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-4"
  },
  "r977": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-3"
  },
  "r978": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-6"
  },
  "r979": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-1"
  },
  "r980": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-1"
  },
  "r981": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-2"
  },
  "r982": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-3"
  },
  "r983": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "852",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7"
  },
  "r984": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "852",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7"
  },
  "r985": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r986": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r987": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r988": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4"
  },
  "r989": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4"
  },
  "r990": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4"
  },
  "r991": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(15)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r992": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479432/944-30-50-2B"
  },
  "r993": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "13H",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H"
  },
  "r994": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4"
  },
  "r995": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r996": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(18))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r997": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(4)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r998": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r999": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1"
  },
  "r1000": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2"
  },
  "r1001": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3"
  },
  "r1002": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6"
  }
 }
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>111
<FILENAME>0001410578-24-000124-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001410578-24-000124-xbrl.zip
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
M[6^ZB:?;O=,C4+9MQ^-MNPX$[7 2S"3](P"9AT\%:\.[R5HH"F;GV_Q$,>C
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
M7/K1S^TB=2')*^MSLGBQKSJ'0?S^(RY*X>$JO;Q&U-^+Z _<LVM);YKA>VF
M@O#+P0KC01ZMC;I%R/,"#-E)]VOC+-]+(\1#T.XMU_DXK0K"%H[6Y:O1,/+:
MP0JO4Z%.^7&>@?.?(/2XCDR6R.LS;8N2E&ZUQ1UE^TFH&\M6*];I /-X7AM?
MCG4%W8(Y5*AFN*9XTU$4T#>:7W(A^#/,H2[5S2:IGO5J9>R[WKE/0^_;I)$>
MO47+-B_J>VG@>^N%K8)5:+%?O8T/7EI;K$7UN)IOC"O^1&$.I":R$B/FY)*[
MSCW84FBB,0V'EAOV0IVKI246%.G5A0G8%!4-O2?O=+.N\1,"WW;%@/I^^&*P
M$%0]%'MC583?B[9$_2':&(6J@VU:69X*ZI_/*0Z?<9\9OMA+&'#I%W L\/J#
M\"K'?"3L/KQ>WY8UF8H]\Y+0V5Q*"]TPDRW-"5)P[_3CV79H.JJWW5K,HI5X
MFHCS&_.7:,? _$-ZXU8I9_/=M@R\W!H_%2  I&O+B[V:FBU4S:Z5+75E>9;#
M+"\YZUYTRD%'U$)+$4>58TSJ=HMP( 1::J2[W&Q)HC#=P;,EG.P^VU</'"IW
M RH_"GP<IE#[HWV=D1CCC4R9D?0M2WW5O;WZ;O*82BJ>(G\SE -TY3_0::8\
MK/M(J&VQP7HMJ!T%"RI9OD#[X([ECH=V,(ZOZ)?5;R?SS6RU-[/'9G@F?PO[
MJ-+\&*I'X"2F?+ 6S#T]Q?L9\^M&9O1MEW0$:JN.*AK+JLO10FF_*%<9/.&O
MN+[E_ .,%]1*.[J89VFAO/4.@_R+6F+"7J8<'QX@8^9VMCTYM7"J%MXL'-Y/
M^?/_ 5!+ P04    " #T9F18' QQ#+T8  "\9P$ %0   &EN;V0M,C R,S$R
M,S%?8V%L+GAM;.U=7W?BN))_WW/V.WBS+S,/Z0 AZ:3/]+V'!#*3<](A)]!W
M[C[U<8P@VC$6:YDDS*??DFR#C2U;LHTMH%_R!Z22JGZEDE0JE7[[Y\?<-MZ0
M2S%QOIZT/[5.#.189(*=V=>3)3TUJ87QR3__\9__\=M_G9[^^^;YP9@0:SE'
MCF=8+C(]-#'>L?=JC,EB83K&-^2ZV+:-&Q=/9L@PVJU/%Y]:GZZ,T]. QHU)
MH0YQ#$ZL\ZF]_N8VH$><+\;Y6?>LT^ITC?,OY^TOW:[Q]&U=[AMT;XKS"MK8
M^>L+^_$"#1K ID._?%#\]>35\Q9?SL[>W]\_O9]_(NX,ZK?:9__^]C"R7M'<
M/,4.]4S'0B=^K5B-CQ?7#NN<GX7D3T+Z[(.T%MK7U]=G_%LH2O$7REMZ();I
M<<'GMF (2[#_3L-BI^RCTW;G]+S]Z8-.PGXENI7#!GR+,\JO!01R-HS?7&*C
M9S0U.']?O-4"?3VA>+ZP&4'^V:N+IE]/L$,FT,'.>;OC=^^_1QX SG3IECB4
MV'C"\+\Q;49\](J01T\,1OW[\WVL.]@!4J8'4%$R0\XGB\S/6+DS&8)G5?9Z
M@AQ0YVAKZV_I<#I<()<C3'L.%)HO7/0*%? ;NH=!-D</A-);T[8Z)=BLK >5
MRD6Q,ZP;54"MTMKN^;TUZ>N=3=XK9RU"N#07?4PMF]"EB_J(6BY>,)$-IS=+
MBAU$F>Q&R_G<=%?#Z0C/'+"\ENEX/<LB2\>#:6) /3R'KK&23]!9"R,Z\HCU
M%S?T3.X@=(Y#'WDFME6%T4#_*I3IZ)6XWABY\WOG#5'/Q\][16Y98>03KI"+
M0)KT&5D(OYDO-BK;_0R*%?;[R25@!+P50#_XOR5>,"FE?5:6&^5V*N3Q=T(F
M[[#D@G;N'9B69QB$V:,4YKI0]2>].2@+_IMK^>"#*7QI ,LV6Z$$_)EL;'X@
MRH8S<7PC"0"\8;:NO2-NI$A9Q@NVMAM^X<<S2!I&$7$L;.-*[*PT_=WPU$=3
MV$2@"?SCZQ.HV ,V7Z!Y#U>*GVQ+N^'SNX/#:9TU#'J#8/Z*ZM1FB58ATX6:
MK5 "#\29L7EK^&+CF;\^*\M=%LE:>EYD#:] MT(>@D6Q,WM L/RACPCF*40!
M]W^9]A*M%\W!]^%@6)5%J&RS5:X)V!Z .#?(05/LQ6PXZQ9R,9E@*RAU2VCY
MQ4'A!G?'-3/HL%;^&\'D'=L>5\QL?CN[XW&]#+E;>O!M\/&3N>)KY8H9E6RL
M4FM$*2C/Z-5T2R_F4FD%?;7 !BUM;I8>H&=!_QB!ZEPR43F@#P\Y$S19?XH]
MUE2KU6ZUC%-C30[^OAT^CH8/]_W>>- W;GH/O<?;@3'Z8S 8CWS7%'3?)E:,
MO,U\;L2-RYGQ08$1[N::FO2%^[J6]'1FF@OF7CP_0[9'PT\X)!R.X(,?_O(A
M)&J;+\CF3?W8+G#61+]NE[#*<;RM[J66^7%Y?M6]:%^>MUOMJVZGW;GZ'.ET
M1!=Z;KS_IFN%].'/A'K$'8A!B3/*=NZ,VBFL2>9A_:E+YNG2"QHD*ITG[@2Y
M7T_:)\:20I\(]Q^8]HGQ#NN>5X]_4S,JS'W#?%+PBVT-WTR;&8F>=VNZ[@HF
M03XI"M"2JJL/BO(X);$MSJJ&F'/?3)K31H"SL/QA8*O&7H!G1R,\DPXL6,SE
M&-J,*G&V8;Z_NMQ#5)4Y#( ]UPA8V)@L3#P)_%5@?[BJRDRD$C4/ ^:BC 9H
M=[5"V_?2/MGLT"#BJ@7%%<(LKJ(/OG++)V5>-+3$<=_!,^O&</J=^LYHT>R:
M56??0%1G1D.S&S$AC\2Q,@UM:MF]0TV:"0W-9N@Y7_N5 T:$ TY<8=]P4^0D
M .\B"[R%BXF+O16WJS4CN7UX!WP,/BQ[R2+ PC,^ :8R5?<-W<(\!3A?:C1(
M<^#;5XAD8/BL$0R1$T46K,)"3UZ)#=VD;+7EK3*\AOE5:^;E&4T0FO.-'<Q9
MQ/$ 4Z _@V&#7-C"^]T*'32].=L-"M2O"*DXY-UVYU('[Z0LP%$EKHQ[#5U=
MN2HN+G@X $ORIN%^*MGS&S0E+AJ[L+U8NBO^O32B*77U 5D1+!F49?G5<-P^
MN<'2EO<ZZQ BI>0^@"J+3:K'2XIA#5&])?,Y<7(AW2YVV'A*<:NA;>Y-)MCO
MQ9.)80MZ:RZP9XI6^(+2APVM"M,:^L&>6?B%@R8#TW5@Y4=[EK6<,SS0I(^F
MV,+B]71>Q;@(+D $YP>$>T'^-72N17K.G82":SN/R!M.Q^:'^+11A<IA*T<5
MPI#QY-6L*3%19,WNR8+[@+<DN)+,Y4[GIXWZA@3(14KH UG9S7$>4S+S<I-.
M\TC_LT,"D@7U 5$6C$SXLKB2V0QM4&PNA.?)7#%'G%SP3KRPUFAF]3%UBI1E
M4,-=+O3>7:*)], 4EC\L1!5XU'"W.Y@O;+)"Z!GQE9LTN+GUX@*X! &T]A7D
M8KQJN/'EE].D3'%*R0,"5):[ZC>NR=LF[),?02>>V%U>=O,^Y;K:%E"RU0X
MM5*L:KBC%%S$RQZ0V94. .42C%8?%R(8IIL@,M61*E=3:QAE1FD)-C5<&PE4
M,3]V,J_>/N-<CDDUKX,&09<1P2A$7L9KQ27QN=WYO']P%V%19OG4)-CLA!+[
M5Z)X^BJ>RP@YEMA3F%%#'Y#+>@Y5F91?)?]VMG73N?KKSY6E:HM")+POW4F[
M+]T?/(X&_?C-Z=$8?GT;/(Y'QO#.&#X-GGOC>RA@]![[!A3]]O0\^ /JW?]K
M8-P_PO\#XY>'X6CT*R,)'3(Z-=^V3A%.SF%89HWZ1[:H+SW/<_'+TF-[OS%)
MCPQ4YU"&JCX60@'D+<-0.?^Y?LX&3HPR^(3__$#U8'V[&VTJTLHA:U=E\M!Q
MDU$\_$#]F%USM:@,YY3M2E%9:7@0D\5+D#,GO##\1*CG(@^[?'T2ILRQ35@
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
M=-K!1P/"PF6K.$H=>O'&:;J<Z[$9-8*Y]R6NA&1VJ== KK5E[P/[_0*]'#L
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
M#'\)UQ77R44]=+L4:C)*B)-^)CUARP$K"_^@%?"B/^@F(69311_=OH::C*K
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
MI-LS42UWZ8FZDP).P['ZYSY6<\+C"<111BB]J4V 2DQ%"OT#($:RL[M5B2X
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
M[%\J^X\_=D0Z$\6RTT/R9+' 8&$%H)>MM $\_0NU6?'([BA[*#(?_8<BO4V
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
M1C'=(O9M $$HGT/LOGDTM(*YA;\K $&&\GLS)'E(&T#@H'X9''43O=+ *+>
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
MSI$[.L04INB! ##TU9O-5ABL,S1,2*PG>=V7"8& )HP*%$CB8&%Y%3LUUFC
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
M<<S[)CIZ70:A G3(C&"]Y:L9@ ?&C3.8T*Z'IT:%\@))9/16Q[K[,'RBZ6;
MV_F$ F%LIPK;P;8&=E-F'P1!M@1V4%QWZ-!: ;NM27LSW(#U<EK.^44_U&;
MKB\:IN$!-'!U>L_0CX5MW.KZFB';FP:L,H-Y@@[;I(U'\H+W#W'3!2L$;'^;
M'D8.F]L8AH-UMK'2HVUKDQ>KNIE-<#KASY+PD=)*#+2U: A=;9JRH6IA45X4
ME.V/]%&%G#NI2\J>(S8($V FY7#&6SF6_FA@LB^'TJEYJ*;%<ED%ZE91W94H
M)2N.@P(?\\ &'&\YG5P.E)M5UQ4UA574P&'7Y$+Z<Y3N\?7F8Y)%V3J)4B7B
MS:K@CK" X=0^S+5"IUT 8<*DW2GKAOX26,2 J>.D!E<C' ,^<<[,>5AE']U.
MIKU0X92 =#BA]H $40[2[5C7+0H9L%X-8[%=OSN0DI'6=E]\P^8C[/N:/YI
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
MU<,. GG$[&>E?;(TCP<Z4/81I#F%-" TOT<"A:(D0UCB9T;T)2]^.TFRDYT
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
ML[Y,J6HK>KTV,*![[U!.M-\'M$_[H;K,R(6>K<A[C8Y;1T+ZG8V$MSW)G6%
MOF$#'=W%LG["\3YEI^2K/'L\(8MQBR@\:A"4Z%>& SH7I\7559+ARPIOS>7K
M#:-#644=!LPKJ1X:P&HZH$7S?M!:.^A7"H 8!'A*CA<CC3KD#VGR& 50>^0F
M+PG!NS1_I0S(=&!9@_J5I_Q6IUG\B2Q&_HM!%(,PP6G.",95K1J !D3C!M/9
M=8>U,*$Z*_YJYBX+KBHY(:<X*UGH<J.LZ(27&\$QVHE/^[M+C+K)5%7*DN9/
M'PO,?KANJ-$?[NP08#<:%T:46XUM..3-II^N;O<.<J6)ZGH<98T"11*'NL3@
M[C<#6&N 4 V%KATVMT6N.>,8JK^=.13[IX3H39EOR)EAS=K2]ZBU?3R04KLP
M4:NT;3"<0O=392FM4P.338!#M_:*B+V!/X@RO^43IDT[H@K,@S& UX9#"1.*
M=H]B1GY=<V@V[_]$3OKWY*#?H]7FL4 :W4=\K<VF@7":;*?(T%*KV993W=V,
M?D =DI@F/;]"Z>T@SMA=DP(LJ+"F7D?#N=!^*W-HK<:*<#M_$[U21]5IENVC
M-'W5<>8."Z35OLS56NX*"*?U?A2:]O(='XPB,1KES[A@FL_7'K<"8M=H#H90
M!F$DT[JM7&:T(8$"21R0>_Q(/KO[?<VEVQ<^S0U@M(_N*JD$^Z+C@L'SH1D'
MYU\S$JUZSSJ#0'QC!BHZZ^FBK)(M*X+20"SE]G)H+^3/1MJP,:L72Y;JO26S
MGN-R720[.FE#L$[Y'8" ME-G=NI]M!<";@-U)$WS*%./E>8RD169"X(+%3CE
M^1U5KN@+T(XYE,NZR#0%1"K/2[%DWR%'\\6^JECA*^WG:^%-KW')V8O?6R%"
MV B-C.BWQ,YPX,W10(_F>%GO*@W(*I#Z\Z/845SWN(>;970$ER7&5[QP<ZW"
MMB 8*P2@CO0STM(1\W 8'>FCI[NH&,0*,9A5:V,)(C!&S]%53X!,+U1H*ZS#
M4/\JNP(-G'&BR6NU70432S.,-R6/F!6N#T%OFJ1@2A+S=VYHN]<B6INB9UP
MH;7'A:VN MF@ '6HGRRC&ATLN16Z%SXC"1^$(@UB,%+=FR5SALV;U'J]N:4_
MI!?E.DK-#V4] .#)K!8V-(FLFM$A)+$:R;*E1))E7S HA!LP^-S5H;QP**2
MA9&R.MUW,\OKF7S6:]D<<XE7^WBH5S(')IJ7,<M@P->P7JHTP6E)B;:\C7;1
MI.&(%W'Q'-(4/Z/XP)Z]_+FC('Q[/MBT@RC$.I"A$]V7,HM>WSWE1>6CV#T
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
M,X.:))'7<!?\]WWZ^NTW[[_7>B>T(X!N:WI"Z^M7^V.X^Y2.#LT%*2G1EHU
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
M=L2?,4&.=A0[$A>8-D_?H:+<@+H0^>6ZB&8Y-MI!0N"C3\DABA$QE'D#!*(
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
MY, Y:5%H[4*RIM*6X?1*#P[G0C819 ?0P8*8KYF9FO&I;<R)0Q:5),;C%=,
MMRQ)?Z2BAW;&FHS'*#I[<N/\Q/>3$ZTP\%Z"D.VFV.YL:L!![VP:1;BXLZF$
MA;JS:6!&==.1@B,)WI5J^(Z2X/<CCE+,'])AO>QAG>$QP4<OV-X+MN;1EO5P
MOY4?#S&Z1QL$< [37DS9A9J/!G&JMNS57]GE"%". 1$4B+].() 4#SVYX7R#
M25QW1R3>S1G\.9Q^NT*+*,T2=J>#EDP;TFCS$!=VA_2BJ'>(ZO# NT0ZADP;
M+.48)[)J]9K5F%>;A[A@6'I1U(95AP<V+!U#)L,J%OYN)->B3_S]N[\G#&/R
MYP\OV1HS"/,0P/VS!J)4=L ,\#![6%:&M&W^\S%(#()_DF@ H?C,[I_I"Q),
M*%_X#O L7]\H-,SO.F X/S&S+WN(&A+$-TRLU Q( ",)VHE9O"Z$<0;7@[MD
M//J96P?KB $99VRE"3DQ8^<<T1=Q!9=ELFJ<N!N-A$P,&PM6S0^MPX#2Q(9\
M*;+%?"19U*+<$N45B1NK^J$DW L)@V(PM(<5QWG%L>*R<?V2<HP+RRV#,.KU
MEF( \()+RY%AQ97.4'E6ZV;14V^Q7/&7TOWI'A^-"3B5=MQ;[-1HQKO@1PV%
MM&V.*0<[LU-FX*[9MAG?HN4H9O*!T P]QYD7@B],AY,Z15O+?.;@MG3ZA:2R
MRSA-B\*7#0Y9GION@^/->1'Y\0$_940H"JXJGZGNJS:K]QZ? <="Q*AJML:8
M4:B[$Z1&%*]AE)LAR@/ZA7+QR8TZ+J.FFN>QYL&.>EG#S-8TTCWK;IX4&BS3
MQ;RWGZR!+.LKDY7>A/H$ZWW\8#L^'!.\QU'*I*11B IWZZ7[AS#^P5*,(G9A
M^D#R!ONTX4NP"T3Q7[1]]MXU&AR8!IPOCZ(LV>4')0 2&4:0H/ZJ+2\=D8D@
M3D6$CQGZ'B78"X/_D@Q7#BMQ)!<_HWD2I&S7])30?SV2KV+:ZHBQA @#X%G_
M%.I<X4R.1[3M?_P:,=V1#]>W"]@(=2D+O9,Z]_W3X132%8Q.0Z)8A_^F7"OZ
M"#4P#;@(-8JRY @U* &0"#6"!)U2G)*/_-:XQ 5:^P$9FL4BL,W0_6Z'?8;Q
M,4[X%8V5X7F:J0+4%-JD 8I=&D]DE;'.%9ZLLML%"5A$90$C 1NU:&*XWMTF
M>!MD#YY/]V;.IBT' SQ<-+$*(4<&+3"(EUNXJ=D86V_0CLYL!,J'N+%$KHIA
M>O=& 0C8&UG+=J4C<@T*I@^RAHUZ5XM+"W&@4J/*O/D1&R6H*T9B>+9& >>
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
MCGWO^A9Y8N7*#%%T3<//!*=@-Y\,\'5MN6Z6L8XHA4*I(B%7X^.+"^WET$Q
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
M?2.>EH]&4F]%<5U!<96/S@:-RSZYUG5!K(W/4+T@TAAX[P?0CO"21R#L[2R
MO(*B27B*_W(3U(C >/O.#ACB@IDFY6QVC_#RJ85ZA-]8X>K>]7_^#N9+\-5R
M/'PBL8!FQPNP72L,G85C6QD_6^&:MXL#1K,05DEYR$QG+=U!YWYJ4#H+I(8P
MJ=&&%*["O]P8N0/2UULZ1#P([L5P?/;!+3,.SVD\EX+63W1*X8Z@TWOE1R<4
MWO!C[7!Q1,.(\ 2!&ERI)N<);+A&?<)SC?IU-KWYQ^_3Q]N[E]?_>W3W_WY_
MF/VWVI1OS ^$$.[P4W(.GIZK<1+N1C=#2I!TA:Y0J(#V\R.U\[PEIZO3FX%&
M05YB5V&NUY3&])4?J-%\#TWIR8=#.B*@UM$*"AR2I(B?F4PB&M1FR?D&T%DI
M>?4NEM-;@,RRJ%VM&2@UXWHTX<$-*A*H=8Q%!3_59B1F++^W085&?6%C,<%!
MKAFOU3 \FD%7':SUC85,-PZ8D:.Q)K\8%37$\L:BA(]B,](UEMAUZZ^A;B6%
M_M>5-18-[-027=TJ=XR/<(G$-^B;MHF[@GI+LM7>D$Z;&::BJ/=@SL>0*^73
M9I42IPNO3NI,] G:0FY X/C(R1I$6JWI A*J#AX)?&0*4@-50*C.'L)ZKX$>
MGC]X-+"1)VBKJ(5:*-QW)PB]4,8L@3>3)F%'MY_LY4<6^_(I9A&7X<PGN,WP
M3'BS0H#3*L/=+Q;G"X"+9>A$X!4$[XZ-'K* $'X!MK_T<"NT1P9E=VL6,I5P
M2\)&5?G*AA;VY"F%VSA T4J8'9@'^+LI)C*\^P"![83$R^S<[9@%1S'DBXKT
MTDB9$AB36!(" $9IZ" 0QDN_A.0K>X@=*S3.D>:_]X.9]?&G$ZW0YA7R"'Z0
MY2$I+@)4^YVO*<-@)HH#76/ &JY<J=%F+R", L>.T@?N$O6>>XTHBXK+<8W\
M4@-_4V9!31@')-Q85FV6E7A384OR066*,H*-N;DBNX\U<V1W!%PW+F3.SR.#
M4,>RJ<*GOAVVL+B^6;CJ1G8&)#E98M0 R;S[]X,':9],RB MZ[Z]?J >XGU[
MHR$MF$<9HD7&O^F,9]UOUQN-72&<R1 KYV1&H;-:1(#&T-'#2%^&@:X'%LE1
M[)VG\&4B2?$90P<"'YD9'KH>,)3QH%POB G/&#H8V,C+0-#U"*!6*6AP0S=;
M/5G?-S[EN9A[,WG]?73_./U3Q4/&N4N>.R(;4E_2JN \DJ=7IZ<0'^=G\/_S
M"U4Q-FALSX'_[D !76^_AV#^X.V>^)Q L_W=B9S&UW#Y&RI.D!/-YC^KS&KC
M=D1PPI17E=LF ]4%$8+$6<5) ]U2\U>K2<=5\-6BH!_/=EQ0B'.;^6+4D8RN
M#@N>O7'0C/L+MP .UW:PZ.'O+DA=!),URD#U;UK@ TM5+;'7&T2JZ&S-,S.N
MWO,'UC0$CGPBBH-+IFBL9*RYAVL3E^8-_-")2.9:4[5/7)4U50M^F7'C'S,3
M'6[>^\&C;V%7.GH=&3]V2XHUI5?Z1%=E$\'++:FW1M3X(.$<0ZDTT./<.+$B
M) @=F4/V(Q<MN 7)3_02.%FKL;;P"<&*@NO$.C,R$&1'A5-O!H*UXV'A3Q>/
MB'0"YFA5/D%6!!DWK[I>Y] R"J8\IW*<34/=&MPB[ T4F7H*F7ITT #LR#DS
MWMVM,F%BVWX,Q0&% 9QW2BY/EJI:8JZCX%F0Q,B)KJZ+6I6F!8J> ["QG'FV
M54K-URPD<@)-6N)VM%UCAXJTUKR1\HB3%MC#E._7!SZLU54^5&PQ\Z*K<T-?
M+&6*_-G:(BV._-&V'<1PD([UYKC8[N!>'VF-'2K66O-&RC-'6F#O;KUQ_2T
M+P GB&R#.'(3AXHS3HZ8X<JHG6YH<F'G=3KE>-18N>ZAHHF5%1)246@=6M8Y
MI$Q+0$F+S.C(%U%G2[6OLZGQBQ$X\N"]@U!$%".E(2VA)R^*D9<3@H[*E=M;
M4%UG=XSM?\5. "!CX'R+MNBH(X+V)[H)LD%%2,>:S T4^7BF1Z()07"H.<#L
MQA=3?&(9&^[] #+ !F >WD,!O*[\($(G'@FC<9$&@#&T<)@(:\L8R>^7Z[YB
M=EXI#PMM'?DBP3C3!UWWCF=YM@![C-*0EFB39X_Q<D+*4_5J0LOVFIPCDV%C
M/2WQ(TCXM>%C+=@A]6J*JN1RF]1,F"X>?6^)#(-;\$;22Z3BAX4>+BY(-J/4
MI+]D9VWG!>ZPH-61+P;ZN.X6"V!# ^+NPUY9WA*\P&DP]1"3T/]HE_QNN0!'
MD629]M 7< ==_"!7DH!)"3UI"5X!5EE?K#+C[;9.?$E2+E</56PW1ND6\A)(
MI$) =[^#*$KS7(\X7@' UX"+H@Y;U6Z592AP@?KG$[%DI@@ZIM7BK9TAP/ 3
MAP2N" HNUR#3V&N\V;B8P9:;,?C!6_C!.I%R0\(=MMJF:K@NY'=],4"07]#Q
M_#E&Q1C^AY&!/OGQ!_#F?I!L_L#\U5]$/R%#'QT;12^'Z<%AV>7'45-/1'00
MYQX<7;D@U=>G[!95=A,;I0DG1[+E2QD,$1Z*S4A]L N5PO<'LP-B A#J"Q\
M'C@(-R-?P8,'!P!-+X3^)T"^0UDH5>3'!>1'V14]>""P4"PUJT#F+)2?X?+6
M"6W7#^, W(+0#IQ-<L_X.@X=#X0H<\=KO%Y;P7:Z>'66'DX&[47I=03DNP@C
M!_(8Y_AX]EW'SKG^J;DP(2^/QJ,OH_T T!_[,8S\Q2@;Q<CRYJ-T'.CSW$A&
M^Z&,=F/!Y7>C49#W;3>F;! $0QYV_Z.YTH^SDTLURT:PM+PTN=0^ RK\X]H*
MG7"Z>,ZA+Y-53H3)+94243.(AVLXW+](JX_,/K7273S"KUFL>N>35,OX3('&
MJXN(*[PXU*# CJL*##<Y0FV.<HW"+WS<KHK$:54:F[P*U"K"]KA$[A-5!&LU
MK68YCR!V^]>V1/:R>>USBI+3+33,S9/JW,S:&N4:4Q%XDW7>- ]K2ZK(8IOR
M#2X93RCGD34'^Z$U+>=LE8M@OH1@OE(_8RF2*N2-;4^A<=,UN\M0=S^D8<*>
M5B=LUAHVY\&N/27!E_57-!IF<&.]Q-%]>79T=G5V<GIT>7JE)BL^<:![>31-
M=)XFM)SN[815U0>=&2%5*QPKT I??7_^TW%=R(P'V**W=% *@T+BD0;E<%95
M#EFC6#GLFQVE[2I(B$>F,F?/-/L!N-KYH28,E&F,31J#KQ&M=$8G>555A@!.
M&*<T<H<SC$KBO*HDDD9&22L*#]ZX% "EUH\SM0>([).;5J4(X"L(X!,]IG(#
MYRDGB*Q42GGD1NVY07818OKF.DO<(.N$O:A.6-38EPBYS_Q<<Z)<3C5#)<S'
MYN+"_& UO31/,XZ:6LTV5C'L/&$=:#1N=XV>7'12SZ&'\T\['BS*<>1V69UQ
MN4:Q*6T7FE40F$DFDFL5Y6KGAYKS-:8Q-JVT?(UHI0TZR:NZ&@O@A'%F=#&F
MA55/7%7UQ*ZA4=I2_]/E$< M$6C4 LW%%4SU9# E:31-;7HEK:8RJXSR\[4%
M><;-SV?T'KOO70,/+!Q6?]CXJ,99GC0TVK6D9#G;O2.%@_HC)P!%SV?#E.5H
MH>B-'5^>7RARG2=\SU)*/_MP>+MA9\+@<*.W;*XP6RZ.]% &7<59XUP7R1[C
ME$F:MQ,GMF#4)#5!>&DKHZ09%2]/PWY7O@N%$Z+#DVC[Y$=-FH->J8BNX\OS
M2T5OQ]>.DET[,-?74AVTD%%5 W1C@7%3/I_$AG'*UX6MH59&63,*WC/;[U<6
M^44C34.-GM(*\7N5;^B]RBPRG\$+T*WA'Y4KF)JQXSH_ZB;ET;%5K52*8!E7
MU8P,9AFG?!!C K!"-MD[R+]XWZ"!:H+S"DV-7-26F@W,;A#)V<X3B*:+F?7!
ML'%IK*G&PU@9%UPN&7R*U&I%>(_U,"\XI%?R&O+3*G4JGZBP(\ 2:; 7L$'O
MB7O+Q(%J Q30R&-<U(3QI4V/@JSM[)PAW[H"6[Q,<;,U0:KRX[B< UT-"1P;
MB>::6LUQ9BG4;!A:DFK<:HT6Z&<08*N%<3;7Q-VA5D8;$(R2=A3DA;,"#XIQ
M1PK#O"55@7)7D]JN-)ZFV4HLK^T<I7*\.D?Y"#1N9MZ"P'F'#;VS'M"-:V+=
M\HTHV++N>G_PH*CC[!3V=S!?%M)7<AWB=VCUQ[F:Q+HMAMRX<>_09'$"'<,)
M5 XA5+5K[RC:FBV[:#89IV=@=>3.@ -W&*_EC.MB]& KZ!9^VHZ"L_0<&?>6
MC1ZHVS;% E"K*%$3;QR7:PBEM9K</-(I3EMVVHP+Z7N-WT+PKQBV=O?.?%=N
M7!/&MV]HE+2D(I==@9;&:^;$XDKR\!4'T[A_)I77<DHV2::85(^',N/\8.*R
MX'!EPSD^&A\=]Y$-9_0?V6__:4!BG LUU]\R2=SXZS?'2SR8>&Q;@KH@5RC.
MJI-!9*2YJ+W$QDEC+\9UWX<MN30\">G-!RWD*N9 @YM*"5D758/C>PBMXIU.
M)L"A6,@< ##0)2&CHFJ1OP!H0<4H&X@/5VAVI=!8SQQ@M"-5:NY%-5BY]P,
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
MS,#R\XNG[_192P!)VY&U?07!NV,CUM6YC1HK&0&%#J2*2@1<*WZ1095[BE[
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
MQG>3.K:JI>[J*EP6#=:=2^:NP53>T%]9:M?8)PIYF6-NM'PS2RAO,K5M[A.
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
M_DX,FSUR4UMS=O\Y=Y1Q^<"?XS!@E2DGJOJ<*M+X+,@D*]^Q-W>5V7&U="4
M*Z9;*P+WEA-("544.+0B%B[U>/79I"G73@*"WN*A&7VGADU':L8X#>8DY_@^
M)Z:^8A"4U]Q\NU*_6=A)+W]:HSJ(0%"Z=;*AFJV,J@*A)_.YD]#TX"W\8(W;
MYXUT/FV*=-[W,LIU8TX,LZ 8UO.3BZ/3R[.CLZNSL_$%_*V<,O$SEIERKJ")
MW2(! [W%-!=MCN$& G:*U]($1W)%S!.OU82*(89>:2+D1J;SA5Z)EY32*"K-
MA$3A>,<H*K%ZU]#GWJ_@]N%HZ&AH3;86YTN=L8'W9R( DFM(*Y2($WAK$#6Q
M1F<M@ZV6Q&\&+1FT2Y[Y$[A;=L=PFWE\3$8.4\7#0$I[5NBL8PI43;UI,%G
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
MEKI-(VME_=)D!5D=TT%,WAQNVA)JH\WQI5IZ3&V6!U$^FP=]O@P5K=9O/-5
M2&)5F4B<A<0SBQI$JA YKS*TMG1"WY3H>HUEN8[#T,51KF0N.JTT-D_;@_K0
M0;)";<RTVQ7-6';D\NV85R=1H"OI]P[R,:5W'GHM:$R=^UZ"OZT]#IEDXY,'
M>2@GZ\B7A$@=2"U;%Z==H#AP:W!S9<X[1B(F3V5Z(!B2+<:ZS4OAX&N#NY?Z
M)J=EE!;?NUWTE_&1P!;DQ?[!/:<P=NB./'^A"1!2TDO9(K\JLB:KCEJ!ZA":
M0E\%[2573<UX)VME[IP979L7%KM=QRZ&[6(#9R/X\<A!-# 6.Q8<.4C=C;:'
MXA;NJFQ^EN_R8-&XZPWTO#ZAT5#J[#Z%\M[!@.7&8.K%T:!0B=2C?"D::]=&
M"3W;'A\]F%FM7DC<ZY41S2E&(F_,QOH]CR2JSM"G'LT6:_S^"GO[FW';R#,G
M;P?/MO21O0 FS,$Y5'3RE-]:*PEU1J\M;NG:C&^7C1F7C35VG+D\ZH&-O*DY
ME)"SB3J'G:NT9<%]Q+DKE^_DONN4IK-\LT7W2TL0%9!$UJ-GI<UAL'WS:&8/
MJE8%#]"E:TR[O.SJ<CXZ39^?U8<-IPQ1UV$M</;+$%BP#4VU-L+F &N'K<%
M9F3D"A%@T"ZKQ.@$F]1'P\9;6?/4!6&W7!!6J!O,(#=*W95X3G*K<6NN-8Q2
MF"(MT+#K7)U.,]->+III#>XF3AR\%@F<.=+Z$")^4*0EP4A]TNJ66W1DJB5F
M9;%@F'(Z5)'6:VZ X9A0**>+6J.>MHL="#FZFJ[IM]/[\7.6GQ-2'MM6&AJS
M K&*2#=.7PKMA=Z>Z(Z%/M!>H ZZ-0UBO8TB,S1H-$ "!_P>&:.O!O0E8S+N
M4AET2D:W'UW8DP6?0GZ$!$59!8KUWV]T@ G\E5]-:$%S#CS.MB9([ULM9_@
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
M]D2U6,T^2\^76KCYU$F-[_P2B#8A$IZ@-%?$H8!%6084<06.1,D:)=L6)4Z
MB9J\UF1P*I5D()>("R,:TD),2D6%X2B9$E(Q+C4$HP0 =.*I%V^X.F@*BYDY
M;9E<.G,W'T2[[D)@!7KG23962%IW\Q0-,T/K@3<?VQT5/\D\?;*?BK/+_A*J
M'4=WHLS0S+CYW$*([K:99!.P$N_!"N]8L[;82"8UFE\(W.Z3"U:.*; 0FW=4
M6%AP/+02N>182.P^F>_?+IM.HL[S#OTH#]SZHLZC$25V^RFD!M&6YM*I*;=4
MNZ5!KKBTE+&0VFV3JS264KT):CSL3A^T3BW5:$MI?'QT\.BI@AT?!"36 8ZM
M!Q>\6(=<^<AX*$X?ZW.^TL);7."7FOJL!,Y>=S9B01%7[MG0,/4Y5E"GS[EX
M%J&HB;II^)D-<FY1UCNA**M+<.7@/G;OE*7&%C@>B&*:>6BIE5P9.[CTFPQO
M#H5 >%'%7KM[J#L;?F:>@U=ML"SZA:$B:7#3.<*J<REU9_EQ9DJW2C2[5+K=
MNZX9A"%OF':-1J*Q1#P5VY_$>G, >F:&O</X>T[+=P)Y2C<I'1^O3CTXIFQ)
MLHBIBWV",*'R/1Y.\:9YT[JA>-50=!>-;QL_5%6_^>M:&"IO:C+"47,,-/F1
M_/[KPAD9U'*$D%7QXT=S%8,($4M":K_2DH27U_K_*LL:9-8IM%&MS.9[$XMO
MS=S8K96<]^A"6HB_T<.(QZGL!"@*U,9(VS5U((7=U[@N91!NY&71GS6SK2^T
MC=2'VLO/!YWLLDG/!!N68\6Q#B=O2R@U96D,1S)4)*H.S.D!:9"76OOQRGSL
MQP4'/MF(CU0SZ^AKR,ANIHWRW>%#M%_(MFCVOBG%JNF(G9R_C7885G?0M* ;
M=DD--[;K.H*$,I"-K< M'7&'R=AB.9RRS;B44KNQ:+77$+@WA@1T@N/H/R :
M\&F)/7_#1%B7#:!0< E%!\_<H<O(<X;67Q<?%B"84!@GX73^OSS*79:(NH)3
MMO_]QGY[=60D=1<V17BXLOE^]NDE[ >D30C6JM(K69],2N)2&B?XK)%@]324
M<RS93??POK-XX>U1UO^O\\^NE76$FOI$UW9GUQ8-OG?;?^0>Z,)T4.O)PD-D
MKKVET.K;/]$$$TG2]!O,19BP_7[;L9Y;PY,L3.*W1=E0@0:FLS]Q^M=Y)ZI/
M-)VTGO,.Q8JRSYL9"_>TS$%&CF-NDK'/+?QH(>_)E&T9->C-L$(32A2IKJ30
M/:S*_.(/]OO0+_M _A<N5^67X@2@2)Y*B_:O-QEWYH9[H5CIP((G[B8>#:>R
M^?1Z%^:C%<*)BW""%5##% NX*"LDAZ.H$$M%(5X<"H48D!B6B\5%+K53NCI)
MU^SNH&"Z':?5 PNHBX7"I"'0NQ._=FL6?RP4$U&>'56816VHE(KW^$EVITUF
MVG'K0\V<MMH*UZ,[!:4UPD_&GC[)EA;T<J[THQT@"X-!K=9U&^DT\@2")\^A
MM"+T#4W'N"A#Q]CXO\^FK*+QFR1J_L!5U.3K>^^:_ESU"TNP=V\^+^H4&CX;
M#Q;'QV\2\<\3_Q>K:=JR[2VUAT"<4"+>RVQ57W.XXDRP)V+!6VC\,:;(4YZ[
M_WP3A=C8#1L]F$0GQ&$X,6<"W#^_AO6[]=<7XDZ...2(Q [7B]>.N*I?KD>4
M' P\1%VC%A,975G[F-M(?$M^ZT\S1*'+;/LQ@\NP0V+45OGL:BD>G1:X9'$*
MYD[3*LXC&8%.^X5(SWN%7BT]KF1&&&G9NC@]14'])6NM Q9:["?E^\/I/\/
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
M-+D:S>O<*;51(^>QH'?8_9#6>X8V1J!W?,HYE[H$%D@>ZCY,JE?S%@<P9RW
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
MN9_]%-;M3*UR,+1JKFOBD;PFIXM-IF6RXZ;%5>ZYXW(M;1M?C];D>Q2P4.E
M^RB^ #OLCE&%04GK))X$./1.&D'5SUPT"R7S$$*-6;,TYY/\7.XBI/EM8^5'
MO]#%\KC7&['%D=:JM/F=-C%/O1>-I2?$SQ0 B=ADU27/9JA4MWRPZG'U 48*
M<M#^VLQU8@@=8'7T\4'@IM^='6(KB],ARKD2A083F$!/C,4WWO^^W'Y>46C"
M\&,<5/)DSR6RN&XF]Y'9;EIS_]68DZQM!C >13\71N8NO%=7TA6@'<[51[=0
MU5T#'!C")GN<CK!7C*B$& I=;&*W>5R(&<2CN%N1NUCE!0%@(0[EHIXH;(.O
MXID[KOJ4*'2]/Y(TPOWKV9.OL_&T695&@,U0 )<P\ O.4<-(27^#<R4H<?H1
M)ZI_<S BZ9[7V,Y<4P0$ZO9\<?JIHT\PP<&]W2F;^]HK;&V/[P21N!U8J=Q1
M2G/9&='D!C]%8)/9:)N(Z*2VWT8Q%5UD:MUUT&T X6!(%)L\N)"4DX/FLHHB
MMUR1,.VBZ:H]?;&8I9T=0% )2D-_[U)1Q96[T8,'L3E&[K!PMU</&1X]45[)
MT\NR[W396[SXJ6.4B6A#%+,Q (M#-H-PC<6[<8$F9X3Z4;A.<(RR>IGV>,1Z
M3<D0[*>MNB%-_>U?)OP?7>718"2=2WP9Z'Q-=*AC4@+^,S1EL2\'=//)(_!R
MQHAF+1(@3"R6X!TUN75A.(L&M&I;('.,4O_''W_J*2#LW^%BPK/[8L)],>%N
M%A-ZW(4YN>:JO6:RYZS?'M39OW<#C6ZN94#>DBQO)2(S"<?*&C^'KD+THYJM
M;1V$1\P(EV9O2S/ 72)>%,X,,;9HQA1L_29:3HGUHFQ,(--;5 V\9'1+K$1I
MVU.MD3_6'2)"3<TG@0<D87A([$2'TGYV*OV$H@3ACKL]DG%2+T^T]^;=A$>
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
MB[9[F-LI::0KI-"+'D 61\32YOW5^%G<Z5.P+AXY/P^-9F0T_/P1:UKX?%R
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
M(B[W:S)]M0P9@LJAW5+03HT$8W-/$N[^Y;[KEEHQ]_'!,?,#K':<QB+9/PJ
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
MPNQ[%"40D[EYE\AA1@Q^-H-*HCFGR!?YD@@'!A QU\5@MK$9IAWPX!N<--)
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
MG13SHBR&Q$7=M[NVJ*;)9R*=JC(Y%1:<&KATDF+)*=$E@6UC'!0()D1!2[_
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
M-1M(B_E\-9,$\_'J'#R'AX]R#CCN\H^5>\)'!_@#_NP3@S1RX7*1C)$\'#_
M;9Y&=[GI_1AX09Q.YI0$.26JGL[-NB1?9V!FC09PX2(%W#3Z?D#CBZB56T(O
MJW$UD]S?X3.L)5AWDO^^>&:S\DFS!<>[EBH QY;\X-0>ZL3S!E5:*VE$OVZ+
M3CNQ9\Y=O)1L5R":Y(/^HYBO<'GWG,^YJ"Q5Q8&=:_XL$]GAI; (]U;B9B/Z
MRUK:5MR*7[GC7?G+PY_=BX;'R!X@$7!T\-V_SEZ>\#\/OWLH--\5"?! JPR1
M7P["OU?SL6F502;LWTT]-WG!C0&50H;)Y3$TJ#X(?C&(GB&-$L'0=!+"& YM
M/]]_ST6P\EIG(AH[]CL^HI41N9>))-XSGLWV+;RX3 ;6O\R$_3T:"$*VF4^D
M9U>"L5;H B7Q,FU,C\SN&SF%TK7=>RYMTU?K4S9C2*]13 A_OFIK^&0DWL6>
M=K]-!T&GM3_L>=@W? ,A/,:C_=N-5%?62L=U6;6J8D5'W9+@6^9;JE;2\PLV
MY&DF-%6,JZ5(+1O>30;$E1'33ZM+$L121V#(;K>5+E'W;L>+A0L N^P$=!@_
M-\Y//CG>^W[_K?.7W[A_[V<O'AV]>!*&X)5?9L<:JN Q'YR^?'7\,,]>0;[3
M#= [)-2<J6KR#$K$T_WLDLS'>I%>)17;2;XFUJ__! =/'CV_YL>\]@\NZI>R
MWO&8*<0S<DUB.']RF[V:9M^[!YAU)#^01WIP]-S6WL&SA[+X7E8H6]F6^)%
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
M5# P<5$HDR'B^@E)T5X6^MWF/'6)G'HZ55S5<K1"GT[Y1)!LFZ+!JRH_9<(
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
MJ&:$;B:=/&Y)XMO.W6_ETL$LC8C6NJP4_<[WRJT-/&BB6$XGOE$421$X8S_
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
M-.L%WT+_&UP9>?%7OF WCN=3;NVIH[NFRR0A)P:S[S@:5J"7IJZ+&5]BE"Q
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
MK,N0)B'%*8FZVY!I'LQ%\"MK0I, /J'0G2>A_((CD+XYP! GVW3!7[":'RL
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
M%5N(S'SHH0)"LC#PG$?V#YW% &BOO!10I@*1E.VU\4\9AMY":Q8BN31#-5T
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
M4/.MISXJFOL9PA:')$_<;V%$$*;!Z]^0E]:P&=]7S#<,#T:PT5)C"RTX8;*
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
M+V2%R[ :/XW=I'<W2??<?.6)+Q)>U\R-0S[6EN3)YXA]<WD8]QW8,N'4&Z$
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
M&P@?3&Q$<0Y==FS->>K(T3M@=QR@U>$?HKABJ/1^^%^@DS:<(@^LAN"A\)W
M4U5"!9M$G8?Y!@GFP\PC>3(PFGP1P9E),*  74/PD,"&/P(JOX/,"71R KS/
MJ1Z%3/\7_YX%KI1I'HSU>8Y>S//M>)# )0@+(@//!(S'>@D^@#2X ?!YGASS
ME]BSIQ AUSG)/Y*'H/G!"7O2LF.6^!Q\?JGBH ,OD2^RQ#V3]5Y,$9AN"Q"O
M9PX8\A[03>#6!ONHF +\'M-9'#E?+SW%UX&#PPA#70*/VCNGQ<"%)IR,1@J_
M_.R[O7S_<=#HI9G#X8.Q30Z+VT0-R1V8/J J^Q X-*[08X^>MQ<=E/4,(#,8
MC;:/,#W18=W?7M0Y^[-EH P\'RB)/36%3@IX'HRO1 -^<D9_W(QQ]&8'_-H>
MAR-@/#$*:NQWAJ)A@-$!(#U-Q \Q@Q^_>FW G^6_/)V"QYX_@O00_AIV(F5*
M6R?P?TSUC:J<DM81?3K0W7W2[(N$N/V505"<W_YU_(<_&L3K-#O8O3#7;J;[
M:@KP0!F2Q[4K/1T:S\12O?[?_V29=/;?K[/)7N6#Q9CI'QG-^[26#\.F^ZAF
M+'+Z#"A/8!2J7Q3DW./7 ;9^Q@Z?XF;A6YZ0!#[A)ZO2'H?#0-Q^4S2D04"!
M%ZYZ%&W:DX>G+<']-D5$3/:AV7TGC[ZA2^'>D?ZB8S]?(/<T/Y8[AXSGT8VG
M!Y7K$#<).:__M -PFE?"F(OS9')*F%X3;E##NQWWS!NR4R"C:*\ ?AUR1\#
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
MD)TB.T6%*\Z9]O0!._75P-1&VS7'#0H,KP)?,ST:A';*0(;R\/<#1M&4''@
M'#W<ZI5T!7PS(4L+W9=,%.)%(=Y[V7NY-;P[.R]Y-M,6L-**S48V>JH6A>8[
M^08E\%S)'=H+C)AT-!_ 7EB+@B*3.'W!TEK(U!_,U%$QBK-3FX^;NJ0Q8WI4
MG.T$@BA/,JE6AM_(.6CJD.'0R0Q^_GI<M\]H"NI4EW54Y!-Y7;<6'8F-[0Y/
MO?F2;JL*)[DV$)V7D^7 "DRXV[<WN[?.EJ0$C/=*]5:*2RVD=2K#EK!9 >!5
M6.8AFV0RY 5/N2$S_C)F?.7@R:>;\04.C?V)&1MI9NZ82V=C!-F Z\YVFR'+
M:-", >W()-/I..OXXT-B]QE;>19KPO%GJ@LFV5JXZDRU/7VE)DS'0]48'NH4
M[_6C,-<>_4T!Z_G#-,\6ST.#9X_M/2JR7 =&WU1]?MJ3-F^A;&8F]A>I&3'@
M]/1VEAX:*V4,MYG"&@QXDB'B*5+H2@ $)@]SP^'-@<GY T'G Y/>3M-WRQ:K
M8D'?V+AIOR*U5SD()K#R0A)_^WZ1VXL4W3Q@()_SB_F<*+'FSYA1N%4_<TRP
M7GC1G21Y%7Q9[;FJY 7N-OS[">0*TME2&:-=S-@NZY/>*F\3M-P6R6R4;9/$
MF0O65D?V^V7L%R7<_!D9^5W[+;#6'/.;E0'6K:V'E-]KSSIT#MHO9!YTDB#?
MLM\'"A;55<_[D?#WXCP<;[K#W.@7&K'/TPJ[=S(Q>B[-796P-(&3=A*VF.0*
M7G]\GQ<M_-K V9G+U>=C/&5()=W-,&DG.UAJ8$U+XAGJ%\^T_.SX 9S?)/RS
M['CGVQ!%P0$4'$"1QBOSZ1=@\[,46&95+E'ZHI 7F,:N;N-9CJ%3.9'"('EF
MDA3SYDX-@@D$$RB&>-\QQ _!Q%:VEI5ZO]_EB%)W+F.\[+>=$":8#\#$[44'
M_Y20XYFP)SW'E\R(B.\=G\/]GFKH *$PPQEA\4$PD+K^4&\I3/$)8<83>"<,
M*Z*3:7:*6'<VT-+3[8ZP*FN1PB$M(NAD&HLGHB%C1\;^.X0'&?MGQB1/&+M6
MQO6>3^)KH:90XY;3:K='1 X:.R W.$Q7>\O8'R( >:A6_]8UYQ$9,G4IQ A=
M]9()^V=5<L+8TUN\"171N;:720(D4IQ@8JHW@;K_^WF!J"N,_)9 ^.R,J_X,
M"3E;^1 DFZY7JK4<C.8&>7%KX)/>B&<TD0IKW=#9)$6>NOX+ 08"C',#QD="
M4@\.&&=G;;\!&&+=V*YR1:TKE+IX:1(,1SLFDX.  3@<E4EBU%MGFD,.]R\?
MULBYP'6B\\#S]>GV!=MZJ;T_M_+,4[LG#^$7[/[L0Y%5R.!>C(1D7@^EJZJ
M^?G@';X#]2;T9\(C#E/=EFQ9#V-FX ,+?-_[?L:>_ERB'P5*15_]\Q_PS^%[
MLJE*+L2)V:MI(.%+]OB(8?_W?$M!7-K[41'4 >:>#+N8HHZZ'?[[?XY[_XQ<
M@(:;COOC $]'PYI%))X(D4I34Q-7E8R4- 5O_B&9:VGK[8>9R1P%IWX\01P4
M1(*&3DWB^4<HCI@L+6F3.I+8"W\D^M;AHQ#2#I\Y7GC8^8>KFI*OKU3X[!=/
M#:?%=Q8_"/P[<Z%9B?D[KY8>\GE2_B,E9BZ$R?_I\>Q)PX8_OWEC;P\B4<*9
M)EB(NC:L*KK74>DC>OI2S*?D)X6X*9(R)=$951:5*46+5)J618F<9L0L@:D4
MHQ 2,:6^16^]D!A_JNV1+"O-)E_(]7)1S*729+\G<LU"HBODNY5")=>I<-U0
M'M%X6+[9Y>L5\ 6NT.V!?QM<L]?EBWR+Z^1Z%?!7\&66;UQU2,>=3#SW,L$7
M$\_]#$<)>MKJ<&6NV:WTN42=[W;/")6_VNT1E^MT$URS 'I=X%BND><ZSZDD
ML+M/%PY^QJH37S_?"DW\5;$3_LP)/$!TO&1"W<@J,->%ZD;Y,0DI+'KG_?T4
M=[@5#A!'G-^A 7MKES-86I+24U')3!B1HF1)S"J2*A)9FL$R*DZ3D\G>-/;?
MP&F,4K(J)'JR+%)91A4G\H0690 /*C.99+*3](MO0->-*1AB-;_+8U)%[)KS
M!KYI$VT1,,77+2M*15#Y[;AJ,)7,=-,._$UC %O2KUMZI*EDUOB\A:E:=F=F
M"AM6KJY%0L1>MUR,,[U*(S]W!&O2H$7'KZG!$+:,O7U=<V=BA2OT!:8YHP1R
MZ!M8";:,O;WF5(.4O]LML.UF61'+PT:^5FB+9/SM\Z#69KS*$,,D;>OK;*DZ
M*%2!VQIOZ3+MDB1NJ[X@]?W6VJZT#6VHB72\Y40>C?%B;5#%=!YK+_I:<6$.
M-#$=;]G*SQJUQJ QQ5)E!9OJY6U^V6R+V1/])&;+144K;3&B8^4Y#R\-MDM-
MQ/%XTVU]0^&9&3TVF,*\K%!8828/<R)^8O332LDWU>%BSEF5=-[ND6G?;JZ!
M$L6;%JIY 1/S:A$+-JGY3K/4(C5NPZ:Q>1(YOV6J'6MBI.P!+PZ'DE-?:;!I
M;**(5F7AZ]S,,%B5RI.5K-P>;D%?3\A*Q2LU=<5N9(&=3%R]WNYF>3BLS(FF
M[M SAOERBMORG2G>KV%ZEPN;QOH:;$L%WAZ2%8--#6V[L6&T8CEL&NOK=(')
M9J NZ@)K9FI]#D^EG(X&W*EX!_J;R68]IS%)8'I9JK=:+@>ZDQ.)$[.5U2?]
M999=-+A4BIKX0J^>Z=C@J2=FRY?&]1T_G]A<8'!417>D&BFV1>*$LJXZA4&A
M-]6*V)+8CG**;KD#.FP:DT!QTEL&%-[VC4'>E8)*:\XN@6:!IC$) )Y'U99:
MM68PHE#KK[;K?I,!34^HRZ+0;DQKX]W$8)J<Z NU?,%8 UMEXDT-KF;/IH/R
MF*L%5,,PBN6IM0!]/:$#I%\9C^D>C6'=1I[PZNGT$K. 7$_H@*.FVX.R18P$
MU@A&P_YR.R_V0-,3MM4)RI9IICD5DUI9LS/(%X>I/D"+$Q-;[Q=-PTT[K%%J
MV;Z(K82&@.>@5QUKZKEU26J5)-88"'YZ1GCE5KG7#AWPUTW9C;I>-1R!X&HU
M=235\I)6!3I /N-JZ.@^^0A1* /X!Z:T\-0?AQ^.%S/(JO=^ F27<L1*#RM2
M2."EP'<.'T3T/?SD!<D_WH6(VL2=*-\]=&S_0CQ:&L^4.G)$F8^>[X!G3DUG
M?5A%#[^G8"SH1^01P>I7[SHC^\4Y?/&AJ30!#G#@JQ?Q2WXG</@+<<-GO_+"
M.]MH7JXS+^\=X4'S<IUY>>\\(9H7A&-H7A".W?J\O'>N$LW+'\W+[656W_QN
M]N5S+%_MS\:BJ2>$\E;P,HI]Q_^-)4D!SPT*Z;_?B&^_BZ+8]_1MI23^J?!@
M=/JLV61W-/9/5IROIC?$2SG=39[G;X^YHZY4.U ]E'UY_62JVTIY_\3DRP=+
M@"\$K@2?(^+B/OFRYQRG8BY[$F-5F=':( 8I1JJDV7IAJ?W!M:Z1B9_(H.I7
M2;M66'9W@CKQV%R^I_32%MP/([_]DV%.WMF*0 *!Q%42+A\<)(@7($&(K04^
M+DRSU1K'*-LF[:WL]J)V&9#0\F.AF=]4N%0PRBSH=79*V1 DF&__I&$YS[?2
MLF_/67U/I0NZJ\I^PEFH< )L+;PEY7P7,B.,^S('^;[ZY7^?S%,BP^,/=L="
MLSMU]9]NVHMBQQ]BDE30W& CF#5M+9+A*1$Z264N6,@*&>^7,=ZO?O/?)_.'
MCQIO=]W)Y_L-QM!5<ELT9EV#LV%:'> 2-)ZDR2]QZO8M'>ZJT;%8>!A64BS=
MUCW?#;<Q$NIFH=J>BHH_H+I[9PVV/!3.79BD[,VWI-H Z<R<K>1>V# 7F? )
MY$OS6=5LV%D"DZKI>D<V^2)%PS1A>&$QELRB4 O" 51_\V[XSF_C %_UK2Q6
MV$XPJ\M/4LOAN%$RUP '8''.=#)+G;KA]7ZC*97][1\'<I-,V"HJPHEN34)7
MI-TVSSG8;5109@]G3<=^"HLVU3>K 2[SBN*0&J\)#*YE5_GQPJDLX%DG6*8J
MG44A&@0)Z"*U^Z(\?PH)_E3,5*PBOQ$&13>URN6MA6FW 23 &]?.OX=T,TX/
M\RXV')^I^C2L0*[AW>S"W[S44)[/#5"V,.8./-$],I\*O_?J@[13S&^W6&F1
M5^7R?"</,CF1V>?[,"2#@E (:6Y9:BA9Z :8X >0)K-M95>#W33-Z9+JT]VQ
MXP@EB#2P&'PV266H+Q7F>C/'.B+,B;]@8?>_$Y.P0%IBX3K08,#<@U\3>M3$
MES9G3L5^:+#X6AD+*-WHS!&N0ZGDHNM8\-(UW0Z 1/<Y#([M1:4,HW8]:)G<
MQG<EL,[HMN1N*[YJ><#]/;KK^N AG\!#?.0ZS&[2W B67=!2C-5IE69K,1W&
MPT@4#T, </,I2[&QG;WLT:<'M"Z) #^ONIYE1D')WE8QGC'*BXF&XUTK!Z
MQL$P0(WB.5!_7%?ICIRO&(%"T;#;\U$?6BI72;3"?Q6=KRXF9%+(I&XZ9^EJ
M)G5_\8W6&]$*Y*B@C7N4RW/SD0[@O^SCM7G55J?ZJ2A%S6TU&JGAK,^Q;% =
MY_OJ)D?"VX1AE"*)$1D4IT#FC_)V[C',\1'SSU0V!:.#UTA#=8(A,9RNG%E!
M ^8/(Q-)FGBWG,Y7CDL@G^G:\(BD@L(0R*202:$PQ*.&(=Y,LV"/J\[9JI^
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
M!47JK<&NPE3I,L?FFX2QW)!32FI?-IYA,FI/)\>*;)3:J9UA9_-]483. T$
MYR&;S!(?V"V^M6,^9TI4>5L=FJJ?,!W/2TB^[^J3P)<FIIKPG43%MAU%\B7P
M@_P] 90BT0TFGJ[HDJO#%,#[.1ET^]!Z^<N&L5]%D=1=G/RY_:F]V6N]/E6]
MOZAV/SQPW6R%ND^4P>5+U"'UONH^\&/+X.)7&-]\C*40N!)\CHB+H8M#B#WG
MV>$ASK,+3/1[]6RE9*>PY6CJCLRV76N2O[_W FA]M+4#CVJ]%6I9^[M=)9AJ
MO&#9XHQU:GI[M,J)3+@3C./)+/D)L9;'MK!HX_?!91#M_*)5] O.[>7OMT93
MB[Q;Y-TB[7Z42[P^5;LO?(O7W=/_U@(?%Z;9:HUCE&V3]E9V>U'3+L_<I[4"
MPZ[T,<,%U;+&^=5F:MEM ^8.]SP^S-P?Y\#NVVH3;C.E)I*GPJ/>UD*UO7#6
MT;;RI^Q]?+)8KK@=@A3@!C*;[D L5\AVNB;31/-_ ^<?[T LZ$SDI0/4;Q^1
M[!4TIT93:EZP6&<M2HN!N91_G^WFE'G@^;!/7L_YR9O#C.60F;%'Q*RC@D%X
M0$NZJKO29;4%9LU1.JKL:';XE+YD!NH)WHQ-5T$A,-LECEV0XESDJSF&68OI
M\,!EDLB@L]X/<=[R#L1RC3.8B /<D )<XTC@/8CE&L<$D6'<D 9<XUP:4H ;
M4@ 4-$!! S3_-W%&YP[$@L[M7'U;ZPJ._H18.D5V4!X8@\HR3S0FI$KB&G#T
MX0;9!SW]ASP3%.Z%)9Q%J&;J1G5EW;NK(S\W=VSPPL=[[N!*VO/&*.-W1E*Z
MO<$6M,)@2ZL_[KBS)H65_O#48<7S E4!/0=S%:%.='E"^$<^- ^/VYN'<@*
MLE,L-9)[NPFGBZK/J6S*IQU-S, K; DJ>_'[:Q][T;]X;MK-H<S7!)GK[()<
M"V%",O-1@.'5TKI*X5X9VUI\>4>PXPSI0H"!E]9>?!OCL>'EXD??;@Q>+G[,
M[;'PY5-W6<^!-6HVM]PUZ4I@Z/QJ4)Z)W2Z=60.L@=NFQ(7)S,.CS<5/(MX8
MVES\U"'*JK_NIN;CJ#(ZVO9U=1D=;?NR4XO"!TB3OXHF7_@8V\UI\I6/K-VZ
MIWKFK;US>)?5]293U]WLQN!S!8<5*OE51P]#Y7"OCHS?_8T.LOUL\R[<HDBL
M=7\V4TT%3F/"ES;@(Z!8X"^^J\N^"F04M5N!3T!_4(KS%SSF=@\WJ=]9U+[S
M9$#A2R)CB["OJ?K\-/J@Z+@]:3. )NB8<$K?/,BKK0?\N+^S4D8@L@:#LZM,
MI]H6LW";,'YMZ7DOWT$'$E%N(<HM1"L8.I#XE0XD7FQA?X"]LE<K?.3%O%[F
M?V%UQPI-BV;2\ZI0$E..5?6VJ;&> ZM[YML_='R3'M4Q0(<-KR(6=-CPP14
M'39$APV18:##AD@!4$  !0206:##AG^R_8@" M?<DCRW$T_.Z4IWM)KE!6*R
M]@L%=Y.OS:$3#[<G/^3%/^1!PHZJJ%9TC-"9)H" 4E G7,<TP6L3.E /N"%Y
M1YG"-Y?I@.J&?=%5!*6??1%-?OCT,W10"I&]N]G]^<@U%;P_4]VWV")/SG+X
MRAYR1M#K8*+77O73)4W$,;CG0R0SGU&^^K$Q!QV70LOG%U%E=%P*Z?)7T65T
M7.K+3BWR5Y$F?Q5-1L>ED+]ZY:L0W_4QM\ZFG5UNRTM,[_ K0K.-Z2K?ACXF
MW)+XJ).)#DU%*M52;0\JDJE+$;XDI.=)2B9LU8<;&.$QJOO.S[PY[$'%OQY\
ML?W\U)J;LX'',0&41G,;YVINS 2N<88&V< -V< USF3<F V@\Q</;@/7.']Q
M8S9PE;,6]WZ;RR_NILMR8 4F:*J$,0;8S%5GT/]=J5'A\?W.NLQW1:VRRX\Q
MUIX4FV2QJC-J[K>C'C][&RQSOG>_<W;4IY;C^:[JZVXXG+QJJU/=;YF2[3V'
M3@X9G&_%2+).+]V8K HV%XP[?'5G+@?#;$[$@2"I;_^DTQ^X50:!'#I+@Q0
M.?S(X4<F<,_G9F[.!&[OC,RM\[PS[T)=@8\M>[A+%HIJ#ZN1;KV?"1C#<]>0
MC\$]JP_QL8<\1E-T7!4,+2$'KJO:\C;ANT#V9J@M1QM5=Y1">G-PA,[1?-G%
M%N4E?0E-?OB\)'2.!JGR%U%E=#P#J?(7465T/ .EBWZ]#9F]Q\GN'<X>]#<C
MX>5LI??L??Z:_\]T*;\C4*V!P0R6O#HQ-^56=@U%!_=CF#2#CD6B\S=H:I&?
MB_S<A]9D=/X&$:HK[7Q<AOA0'AXT#=&="40%R_"3=37=M'-PB'#CXV/$!QW5
MB;2/G4FVIB9T.S&5=#>Q@E>[P<,Y"NC-"LS-2D4'=JYP8&?BN& &4M'W?^"+
M3<)S3%U)_ \6_N]++M7H0,\OY/=<44%NSH:0":'\H-\X$(1,Z-T#0\B&D V]
M>: (V="[!XZ0#2$;>O- $K*A]P\L75E&=QWO^0(;:*SDS8JFLRZKBJ:6)-V&
M'^:FONIV5-F4/$^? C4[Q)7>CA[Y)C5TY_W65-!5I:_77*RR&ZQ%G RWS?!X
MUBRJ(7>U8TQH[40*@L(@* R"3.ARQZ20";U[C JQS[O8;3PG2]16K4IA26]M
MS-J9:0IK=2FSHT&6"/<8/\02O^CAJLG/E"O\?:U"#04C,Q70N*#*H:^0(/%D
M JK#?_XU0=EG=W+*ZEHG/+VPLIC(!MYTZ0\T7*A5L*[8&Y4KV^+Z)?CD/)&?
M_KZO"SZV'#NL:;;W:;-#=I(9M#+@>X4L91665"#/?A^MHB)I?.![<'!@<DX@
M3;K%K^AV?2!CC-S(67R_,./*.>",B@!H2"Q)9[*7O5@#'6J[=++?'<C@T@F
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
MX@(?!=X"!"O4)P:P /[JAA([L)HJ8D1UJ)Z#@I"$P,G=NP?,<WCY86"6$1[
MCMU-]O:H"J,$3&=-!%D\!R)+L1>+$WW[ZH#OXT6X0E1#'&$B$3E0141#HO5Z
MV#Z0@Z5:7@1@WQD3<090]ETL\$L905#,<3@;8?J:,%C"WX>=4_%!H"CA[P@E
MFBAP@@;[1S?$8X +/$VL(L9RN[??! !;E&;BQ+GSMLZ*T#AYMP-^\.;K_RO.
M%[]*'!KC/<"_8Q(EMAXBJ #U4+PQ\=(,C,!C?(#1B:&OX!4:)D9,0C/$&)$(
M91Y;P[68K_[GJ@'/D@U8"L-DR&7"$];06&%?==@,O]^$@WI7F^:[L8)+@%.,
MO;H!@B->+X8%6#2B:(PW<(^<(S  :S-XX^F=AED$!6T]4(V"1^6K$<H=B-YI
M1.ZB! Z< 1^AI:[:CC)@!<Q1'X^)]&,Z\BE5 @BREH"DV@3+R%,C\.$5B"Q<
MB8 Q(7(XF"H#9#((/L# *C!@K3K VG: ]7A.[5E5*F 'W"(1QS#Y,HBEC.,"
M 9#@1: \N@T*IKU8$-JBMZA#:1@(1K:B$O#$6@U!%G)G^@F-2K 77)D2G(D.
MO82UR31!Y\.7_$*'QO# \^P/@*.D[Q->"H$XV5$(* %O2XS!VE_P]QR*]DL
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
M_>6OFC?1K&G(+\W9R4N638Q(IJVZ:8NR M'WCH%8-WTSN-C*NO8FYDG3,)S
M"SUO(EZKJKXB$B$8$:%$D@4AN*[43:0VA8I\H@Q$SS89+Q<&JLJ8'(VJ@U!
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
MH3+($/@IFX&\<0_^)>81?TI3^?ED, -*I*A'AOE7ZOE'0(\C8H( F1<D>Q4
ML_O6ZQ"8_6>?7,CN]\6S%S]Q[#$Z0L)?#U>_Y"-YIHUZ>U QS_X?.35U@!3]
M=T?@8MU!X.>0\4)A,5_%UNT_"L^Z"'9#AN9V 47ND^THG])^/(KK^Z1Y=JE>
M%W)LA]WYLDMU+E2MZ[E46\RV2[D2VRKQ[2O.KBYT^':J(Z0XH=X6JJ5PIGPN
ME2_5V3I78JNI=B?\H,;7.U>;Y(Y3\"=.&?!LJYWBZ[EPGCF>XVM9OO4<;0=(
MN^M(OO@,FEX+5IS$[ -_&9P9$QB)2AE,EB5RE,Y((U)5)!I+8P0YP1@E/7D;
M4%M=;IQMSMMN1)7IM-9XMZANYEI<.*^QSFW*,X><H(6.;;:E68]!\\#5S;P=
MN>DVTZS26GF\,"8[<B\C*\RB^2)(]VGD+%V8!=AV&1B58;> U/4@;]7!2.KM
MR,RP6<"+5+6&"G.OM,ERC!!$K8R/WEY<YK*N/1AL^4IAU*]L6XU\>P6"B;&C
MJ&?=9=,XBA5QHQ)TQRV5+:^TAB:1QQ,5>SD)3\^<A=&C>NX0)\8!T6^&(X\F
M.NX4FIR7682J78'4B\8\S==G03CR:*(=1JPMFG-A9.C%0BWK3@L3H0V>>3S1
MI82,FYN*88LZUZ"$A12,JT0@4<<!TE.67=!#1!J*^"2W)OUA9F2%$Z6/1Y)(
M5^[U]$#@93<O#B<NVZ]')9Z/%H^-EJTVT[>'XL9GZCF+UJ8-!Q2./UJ\Z77R
MN;YB3OB-BH\+6&Y6\FM@Y-'B)6<[(L?6>F'(Q6K;M@V_[1-:./)X\=LMS6O]
M'+U$"XWZHE@*6K-T#50U/5J289GI?'$^K8M(KRZTROW,>J*R$G,\<EW/ZU.Q
M&\QY1$8:-7*MMDP1% $X&FE72]+&\HD<O^E69G,R2S?+-3 R\W8D1;!8,<O7
M&'$Y&(V,H9CWM]L I,X=/;2-I9MJQIH->=S=9-$JWAQ-VN'0F'C[WJ)+KY )
MBJ"<@&@:4=W.6P4-##W:)V=%J!N\6Q#0BM(L5M-"S:V833#T:*.DJC*RM]U&
MR=@L='R>59NLT67!T*.=LHG^?(M[=80OM/AYOTPX'86.GAHC4-WL=#*21=KH
MC:I;?"#5K5$ZG&Q,)/\FJ'<G*IK?&I5I?Y+.B$R-"W<5(X^'ZE-LT>YU<KSH
M6P/><SIVR?&:8.@1"82^6M%J]6Q6Y'*=J8#-@Q5=C)YZ1 (9Q:7\')O71,1L
MZ$PND[5800-#CTC@\,%XUJ2I"EJ0J;+OB6M.KD5#CTDP+RXMS2IO%)13BWT!
MSRX%,0@G&R.KFZ[JD1W1=E!NG>ZT;+\ZYW,L&$J_'=IH.X;1G]26*,=CTP+&
M93L:%@Z-D>MV.H2G@&\-C?:FD.$V174U1C4P](A:FCW5"=.L6'ROMQF/,YOQ
M<%9I@J%'U%I4\ Q*XY,N*@\K2@>9C[FM%("A1]32M_)PB]+]J3'/2PM,=WLJ
ME8XF$,,PQ4RK)U29OK'$EX1AKLILF0UG$".RI9PA28-\5Q3G;DXBIX);YOT
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
MH29X;2B.<H\.:'0C 'Q:KKD\DYQ=W3LQC[P(_(8\<B$>N3F=;H<A+S(!(*O
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
M#N*^1_(LKV61@2-9?#M-(7YNC)!&\2Q-T]]S)DF(W[ '0XWAD6HW"+8+:HR
M9#\*.)/PAS23AE7BKW[W?VTAO6YLP+57_WL0A4#QN&[J_YV*QU>S^Y,E'_?E
MO3GG&7Y^7XY6TKI+=E--B_Z\.R+7-<1H-%APU(.RG[#;%+1%H"T";9$+V"+Q
M7B5+F^E%8<4'O+Y8L3A>'S)D4P/PM,O.3S,?-:RZO4B>+]0/O6 20U(!^:H9
M"]>N&9*8>BK7)L2=%T\Y?(>SYPO?4YV#A+_YXAZHN?K,[-4Z]18OITD4+W?Q
M@N5>- *I'33[GMD7"J+0JQ>8C#.FLU:H2=)1!!+Y0,<VAH=H=<'^.'\C6L4U
MSTD86/T>89)I+"<5K;X>%C7FNT%A-.!S_')1--WF*BLV0%%C^L.P*(A?%^S"
M\S?B5VR+'@A@]P%@%_#O8<-*MNIBG,AEULBZ*Z0MLZP!5 .Q6M2Y2Q=#3(,6
M)+0@_R9(^[:KKTWTI6$1]]*&W Y6*\+)Y2D_LA^!JR_SP#"?=96XB2"RA!9_
M@;<Y]W^;<W>LE\A+H[NC,A3P6PG+NC?62V3TU[T1&<KWS<25W1WK)3)\[>ZH
M# 4<:NA00T\\E>\Q6@DZDZ$S&3J3D^9,%C2LTZE9B[6H5XL:/Y\2LFU>-%BH
MM2)&P[%']7A!\IQAF=WB&3:0,";*,",?:!0&"\%@(1@LE/R[]LMAR==#>2H5
M?YIMEMNRN-SPHJ]C8Z&5TP"ZT%$Q-(H^1A=X[PUC>6 LS]WBR_DC;4C>Z:/E
M+%9&5:$\XXM5J:I-FP!T,C]^41B,M('&$32.H''T:1P,I]<UDD0V34//UZ3-
M7)4:FAV91B .!L,?*/Q+'6G_GR>';SJ5^+_80("!^F2S^TBW0@GV?KYF]K>0
ML/O+D[/O=QQCNW76_7DX*^5"BR'H8]'%T"?V?*E\IM3U0K5<->6HX(BPM)1G
MI^1]Q^.4_K3A*3G:\50@NREYL7#L=<@KGFIN4O]S8G[.^4XT,PF3]@S=L2_1
MQYGJV.7ATN1[J,[,.\-UKF.R[>8KL:%^0VQ>$EF8O'WGD]C0.[&IRXXC>3[7
M,E$5,_CVTF3=\I;L-?%FR(KG)3#QBL#$V0@LR;AF='/>%-T$FJZDF]IB6KDH
M@:M%BEW-Z8S#<^(2L=166:*:[(]?Z&-<:;<W'Z1"434!^<,9IE19F:;L2<J;
MJJF-*CMN2@U%#^2S*M%B4P3VD +43(6; W[ 'T()<Q=J^*Q5*#6/$3B<2+$)
MD6FZ.V)"_1P]/SPH+Q)XQT\)O.ZA MSE(>(4'/Q[L:;V!NWUT^U!3=Q4N;0^
M1HJDKP27Y&5$KW41)O Z1CM7LLNM8)SN]K0?O_#'X]I63ZP+F/$6\/KW-J/F
MB 6NGQ^V^=Z&LK$9-5JTYQ?=C*5 *H)25BA1"'4"JAL(VU([")6=Q^.<JU<X
M\F?X 1X-MD*W?'D/6F-]]>M_PW\.R**8X=.!ECW]SVLEA@#"OM>Q4?1?I[.S
M7H"/$J*-ZAR@!B</5L03U.01C-FM))IW].]_O9S^\\4KHMBF[?P\Z/LOUK7'
M/CQ2_345&3FJ;"#R)'SU3]D,Y(V[7R?#/.+DP9;X^60S $JDJ$>&^5?J^4=
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
M'C>M37E9K 1LIKE9#9H\I4F9R/-_QN!0*,GW(LG7=A/<K6+QNZ*L5I1M:SO
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
MY/.'\;+_R->(4<%HC*#4W]OOKP5*_8]VU>\E&O2)B//>SA8+T?@CJ/A@M[A
M[?!!>B)[2X="$"1@4OY';]$FN+G]9G]00G)>9*^NM9#P/4DY'?)VL%E\D[Y&
M"]<"8HVK&.T6YU0$ %BRP37-^_E@<NIJV8^4O:F&J?SSD3PR%\)/=4/Q/1@<
ME,D%17.[:KD4O2N7JPGFM+'-2/P<D'F[6<L5T@]\<#1(4[=G:3KB[Z4QTXS_
MG+@!:[AEQDM!CI;]X2MXOZTAGZ\,O:B&O+BQMZ<JBT))RC1+TIP'9"/5-3OK
M*MBB\ASF%54YQ94]W[F(FZ[\J2<1?[?!%RW"'%]'[_"OWO?/G3CXE V[>";A
M\L'AJ;>MA+]?&^%]5;+L1P1^?@^JPE0R)@#&?<1*TH+"$@E5"$B&G,1W27QW
MR?@N+!KZB /KRW'%""^7PT&<;0/'?@S%F@NE.LIKE>\E)SUN2 *I/IB+92[3
M!(M94%.9R>9NCSM-?-<([YN'=E^O&^>)[+Y0-V HV!NM=4DDI4&OT&MIY7&C
M,X&Z 2.Z-'N;/X=J7"2@B[=[$7]?HH>RQE@>;53R./;;C!/F O@:<;IN%=_&
M0)XY2(R?-;R\IP _+."BZ F 'P([Z(8?9?F4Y3U3&S12#D\/2FJI^Z1FS!$G
M9K!7P-+G] J^C82?.4R.GX1??K__A(0W\PNRM:6$![[<WDBI26%$ZFDDX2A;
M>_L6"&*2)OA):8(N\)6%8FGB+SU!^3E;!YDDH1"' ^- W*&TMX"%BFBD261H
M5&I-6@_D*J<+]'S3Y6NL-]8KZ#(D=!"8#/V-#H:O0G.N(-UPBD;F27!\A<%Q
M!SBN91".22QVW1S1147"721A<1(67W:_\X6S9^X:C?:@9 J+J"V/RHM9G>S=
MV21;LA^[S/9.-O"M?E0*Q3*W3!(3)S%QS*J;/B'>V^IP("HK2Q)TO4N/2OF5
M"^XY*-XP("9OTTE G 3$>")0VBP@V?CDW#70??^)@:_8H]+IH&+:)O[BN@4B
MRY!7&S!_]:X?=_?]NSL"H5A7#&%/J.'0H +4CK*9 VX^KSP\9DQA4U4+;*T[
M'?9RJ'T/= FH?#XY//^VT>QW=QQ^2QUZVJ*SVM#C(MD$C\ZT4IQL&AT.J@-V
M(=X"*T@R C\I(]!7G>G4U-!3D-=P%5F JT@#)MF#KW4:]@09_OWMC#G3J;*E
MH:5L2"DOY^M;E_<Z ]09%/D*)'NM1^I7H1=Q2SN<+A?^'5C[@X+GTE%E& %_
M@N^&WR<4%9H<"Q@RG%1J5T0&UK)?J3Z15#C<!TVV[00!*3F*OM[--="#YDX-
M6J$6%'=*$(SA _DO(_'G#*6&A3]JAUUOAIV)=_>X$"2Z+6H-I]T"'&Y\"[?8
M[)GJ=9,SZ22*OT@4?Q85DL;Y-3-NCU-D:K1U[0HOE'I=#JD0#.&I6RH)X9,0
M'D\$W98'^TU3#.#@TO>@G4IP$' 5H?U7I_I_E@F\?-T[EE5L]B"K=N.B#: ^
MR@U<=SV[%ZK*LI8O5NW%O(([XM,HAWD6 YB<\5^WA%^^[OTS$MY\$E)Z9M8Q
MYN5>IS);CH4%Q6 )QUGZM^#ODES%3\I5=( -)$N>XI2# E9 ,Q<ZRE/(%E!.
MN+5_4\_OFZ4?CNAT_LY0E_<<T'TB+.QVJ R1/D.FEYMLZ%J#WRP83F*GYA-?
MQYA;T&=@LQ&U4Z>HBDD2#U><>$B*X7]HW!P> &!8FS#A[ZB2ED3*,8N4?^2&
M%XCGP8CBGI2^V0"Q.N\-YQU[TB%UH.9JG$RKE1E&B<1'W%&W:D^W$7X;L;]P
M^'P!L;]\_/Q'8M_:=G*,9:HEOKE\8IM/I?%:S4Z0V,. FHDH>SM=W\^?N]-?
M941=!$ '"J&BUO3 3B+H)(*^2H?BP^5QOKQ7 G$/RN/>M*7=Y<8MK/OT@-RH
MQ;NJU,],@<(A]&CD0C#YB/1D$DO_K%CZVS@H9U0C4IUZ[;N-O"0+@WK7FEB=
M^=C"(.SX&/^X$.9J6Y''VTN)OTORW+D.G=YCST3V\7@)&SB.!E#&_RIR$U=A
M3I.<QA>[(/##[DZ.*WOB_1$SVL[;=QW7:&T$6B4KI58S-P=D&Z'3HRO_:>9,
MF Y)T7X<$B%)T7X2MOM[Y [K \['E.>ID63#*![9$6#8V,I<:R3_U?G\))2X
M?(J_.Y4L<(=$N+ GP?Q:!K;]?+_W0U&&7L]Q;L48D-W:@&I8-=<S.4^D<!.X
M/$M%7&F[VF#]JX\ $DVY_*G Z32%&6NI1JI4K/-E=5;O:P_CJ97"FO)*<YTD
M'O^A\7C3F0(KB;=/>0H0'U#B.)C5RSL@6,1W'QF3B@-T^R-6M)]6'_-F.K6=
M]Z>M9B-3HT3CD1,IW($O>U9OX\<K4KS0O9.B__?UZ$A][MN/,^]^4Q@+72G5
M$YZHYD.7\I#ZG+L]SW?0GA^7[X#"AR_V?6>X\_\=';S" \BNP*5HREY(-SIO
M2<*A64U#LZJ8[D@#/]2N7L(_\3%#7$C9Y]O4D87^,YK2!JV9,0<M,-6L+M=A
M56A!<;^_;/HG]?O[.CCT1#\N[G=\5#_*'74L/BRZ6[YL+XVLS3S4["<.Z0<J
M.V#.B:H3-_5XX3C\'T>"(OMON/Z&J\-'RF= 2YZYMJ..-P=;_N%D7_I$_E]V
M;OTG_**#M9S$J!\*8U>> L750'-\A-^([KJJ$IZC"NP>(FX/OOQ.,^5Y((XC
M\5YO3ZK#QHCA5?'NOD,Q[6SG$;X%0,E=P/<@$()S(%9'\2#-OF1"N";L9$EX
M57YSI^=U$9(%"%F#?U3'*APIV00D>$IV+527?$MTX=O@7V0)7<HT]86)NG]@
M!$(8&A %_Z ;,8[*_M>&%N$#+\3?+@(9Z"-@$6GJAD ,P^.0N2$\ *<$1XU-
M!)QI$W^I!GR9Z=IPA/WW/U@NKEJHL:*&CPGV'ADN5EK8X)_PA_VY(L9.?<=1
ME]8IK 9&.#??"Y=<QPP_P%N(_\F!I[[ONOMCT"?AYDC^!ZW0L<*)!2^D_)5_
M+"3)IF]S;^8$%745\7P3/G,,>1U2+?P]A6SP/R,+2/.4!^GTWX5IJTCI_[&
M)J$]Y,4S V;@%X=#I9%M:JX#7BST<F'A)Z)"N+3=OW^X@Z69A"_QXPMURR3Z
M$D.^Y&_I1%]BR)?$CL63+XD=BR=?H!U[\V@IX<L?\>63&?MWW>/K.:LXFP6_
M*A+ 8 U]^']_97[]+CG2MUDV5@>?Z&P/6+]_IA%&]G[>%H;W48<<B>+$4'%.
M+ C[Z?O#5/[H%2VB?U>+*/(V2W\K+4(IL1.="R:"\[;@?#>YH4]A:J^LJN!%
MOGNO:;"?A?[G9'H4LU.@TYV.X@CNFY;R_F$>*.Z5\B<^*$\$_4<*^F4J0$X@
MZ/$+)OYT._.+Y#AT_BEAK![#=(C@3%;;$ I07-E11]HIJN:^54!^GNSE^:W;
M_YQLK[K*4B6A6Q2?ZD7M@=[,>N3&G%%/A:K'Y.^YPTHESA:;X_TJCWS79/1.
M;9CF"R7IB:\!S6@^M?=+DU*?J4TZ*@*!/X2?\6MT/PN@+KW6"J#R$$Z6+1>^
M9%>GE'[N@)Y./QEW_8TYWXP[KJ.76FD]UQ89,0U=]-R9D,X3/?XN>OP%S2;C
MI,>TV)Q0O5[=6*P%M78_X?5I6C(U[O)Z#)2)NY SU8%07DR*5K>TF)E]#^HQ
M^^O?-/D65,>/"+O#GH,+"_(!E^/A,BY)-^%*MZ?J6W"1>.1*C-UWC=)B&7A_
M/_^F92&84&?3TB3#@::07[HJ1N"(L(64->S69]Z$)[NE3-\IC\EML^*)&>33
M9'+G<VD2Q?]ABA^_1,3W<X@^H_A;Q2X6"IMLBF?M7J[WL'#X)N"@XD,GZ"W
MT^^:ET&T<C8'W9F2!,TW#^Q.[-C\)&-VB2S-?C<=:-V"/CJ1$=YBY78?:SPG
M+'G!&78FM7Y)YT069VINR/P9'9M$I;^-2B<)F[,G;#ZNTEO9JNNU?*]#2II9
M%CI<:GS?;$.5AOX*=9/)GMYGN<JT30/!*?N7;8T)H9FV3<B296T@TSPH&W82
MP"4!7)*YB:O/TPPUMP85M["OMQ$6,</=5<J--,GR964N+>9B@5E/VF(6.3D4
M>9.AF"1]DVA_DKZY&O?H4]I_7YQ6GXSL>,:G]-DBG9.<UM:=0.UGL?9GWTS>
M?M<DSCO0TZ?S?A)C][-)D"1\SI+P\4&S#TS?$8#VLPDL-)W\MKCDW7F7-L:4
ME79;8]<3<\@!8C+'B%^)]B?:?\*ZVI^D_5^2&_J<]GLU>LVTQ]1,*,PHVFKG
M#:H]1]J/JGC8M[3_!Z6#@C2;7VO\?( %I<-1-6(AJ4H2$B8A89(0NK!/A&')
MCDQBJ+P-TRGN5%= FMN"BAMA$M/LA,M::=;D)6J[J(FTW!B/.3&/,T(W^>P9
M7:)$^W^8]B<)H9/Y1"?2_N4=7S)3VO).D*;9VNJAV!\4[SVH_?B$C,V_E0[^
MK@FA4\&B)'%?:-$N?*O^*YV;^#00N+BM^X*C+Z2I$59M98FL]N10:[Y0SK?K
MDUQYI$W;(D5BIR:=W+I*M/TTSDR,M?UH[1^&>[JT:_.NNK] ;7K6^[E:++CI
M)W/*I^RZY_7OG@HE98+T'KHS-/TF@O*/2/!0-)Y)SW0DC8#SMO<Z=1^U2B%&
M /(*$"M)<X,K7>$]]"0$3$+ ) $45[>HC!0[PCSRIL5LEYX[( L=2NYUZ%P=
MM*%;1&&W*'.3H8XM9*+IB:8GR9ZX>D2O:7K=I&:UZG"VF7=[(R ^4I/1 W*$
M*)S786Z8-SM/?+_$CC^1QS,Z,HDMNW@TE*1Y+A/XG=^AV2GNKA%65-*GI]/#
M8A=42*GSL&FPZ_2:RD_P-%'2YR;+'E_W. WT>:+_/TK_D\3/5[LY'])_C]D\
MI5+]N4"JG>H&I,I"7=(\-$T6ZS])'E<W_]#\S^OM<6\( SA)S/?5,=\E[4GL
MJ?9JUBC.5OC[994:(*HEB$Y5'<FC)KR@RZU\QE:\S<SD1"KMUP]EF;=:HR7F
M)3$O%Z?:JZFJQ+Q\I8\7;5ZD[&C<SVFV(6R&=,G1R@JY7F+S@@N4F.Q;,,_Q
MRV.]K@Q4[EUM\+_XC.#Z3<!F8F\@DLLK7W!UC7K'X,6/)HEF))KQ%=>Z+J89
M/R(C0KZ:$-F#JK]:T*#8J\^W/P6/7[W+*\N];M"@1- O+>CQ*_?XH*#'+TK\
MTSTMN<:2G&\F]0U7D5JO/3N9KUUF2:5[CRE&SWJ\RK>]<;^8WJY2G$CYC6F/
MK^<F-0V)SB<U#3'.=W] YX6YQ,V%%6T(9:I5?5KE\F1&;".=9W_]RQ[GO']H
M'8-_CR7J!LM>\)Z$-#_IN/'RL?VE5Q\K.WHVWZF"=?W0FD;!+S8MMEYL3&A^
M(Y>FTF;+L++NB53V[,Y38BT2:W'E10;?Q^OZH+4HVRK3S\T]A>PV0:Y@#+IZ
MHXBMQ9G<KJ36((DZDQ/5I-8@T8Q$,Y):@^^>M? G@M!V7F^ZD<0?EXT_TM #
M5TP7];N-0P!R(ACYCV0J+K#R.%4XG_\"Q5[L$5WLG)JQ'%->* 5A8VFV,%TW
M^!(W$:F@%VN6>@NO+#$7B;DXE;GX2*KBAYN+\U^(>-=<-&KF8IUZ6K5(G1ST
MR9EZI],=#ID+_V[$F]U\KBE?$1.3D 1A21"6I"<2S4@T(TE/).F))-[X_O7A
M9\T^_*1HX5+=&4K9=$46.J7NO'G?L:UN01\SP!-I*NG.D&CXV1,&/TG#+]4@
M@5Y8=[F.FK9Y5A>'NIM?L4,):_A5-D@XKP\35H5NDICG>Y3(QYY$R76:V)6$
M<E2FM,Y5*6BGJ:?.9C;IK02J+=)T<I\F,1:7-A;)/9QX58225$&JTWWO25"9
MYD.6[7-<:>@A8_$]+N+$7B>26#(VL63LJ7*15%/LJ9)H4*)!L4[E?!55?EJV
MX\0G-M]!!$X:O7S/VJ^C=,4/+_2*05UHL69UMJENRB*E85N=/+DK0\IR(LU\
M05UHHO675X<O.L"Y]#+CI/4Q*._,=CAJL>;2'B])^>6ZW*U5]78;:?U'RSO_
MCR-!_OT;#FNX.J2[?(9"G)EK.^IX<^"X' KN2VT.[I>&2:[/:#1<#&*<:OB0
M,/ 315W]^[_PG_#AL@8D"TG]]+^'[TFC]P2J39+_.4M1D@P7#ZQPZ303*NU.
M<DLI!$2\".>-__U_]J?_['ZG9%,SK7]"!=Q;UQ0@#?F'QKHX :F1!:1Y2AK#
M5_\C:9ZTL8-UYG)[6_H_.R5&E" RR,$EGG]$]#@BIBZM4WLD.W!7_6^%'V&E
M#3\S;15QYQ\+:)!-*X">??!4S!?'7/Q#4[>H89T.?PU613&WS)D8]<*4HIO0
MX68C$5,+68+_M]<L1.X]Z&>H1U#A-?^QGC_=X*-?__:0NA'FF"@@PV(@WSN0
M6\F7W=.L8?_=(U-37I<^?V651J-9Y'J<W\R@TBC<$ERC2'2%NVZE6.$Z%;Y[
MP=DUFCV^2_2:1*'9Z#9K%3A3ODB4*@VN4:AP-:+;@Q_4^4;O8I/T)87>2<H3
MSW6Z!-\HPGD6^0)?O^,[1)JZ(9"WB$F+-I ]%7_--!TJ5I3&2'@S$--Y1E:4
M#"6R%$6*C,RPXBC#R&*.!NFQ)%/9=(;^Y8N9M(, S7=: S;#\'Q3S)-5[7Y)
MZ8^>"'>WER/IYJP@EV6Y#Z??K2D]KYI>ZA,X,O-R9--N.;-M;K8BFYW"-,>[
M-7J^@8ZH2!Z-G)=5;Y(=C4F52]?FQH,NU%=HY/$\C=8F-_4J,L\NR$J>:Z7K
M(Y1A/WY[?JRJ_'W.*L_U)Z_;G!?O"B.G+::/WYYA*8F;>\)T7B7G=:60;Z?7
MJ[;('(\4-Y-5?_C0;PGT<K@I/PY5H]:8P)%'\V3:@^FTH(HK7E^6%\-5>UBU
M)0Z.#.?Y8E_ROS<2\[5)2^G*<HW<+-8]?=(OT1[@1#24]ET0^ V@<,Y[H]/G
MV*VB=NXT&V$HG_>OBH$S"[8-;3[A3 $!MQY-W?J+AL9OEXK81Q6#TX+;E X?
MCY9LJW SL@EO"E#_,T)U"-4F=(0UKZESH&W@8Z'Q-4P'_> @M%;"M @;)386
MIA6^"+T[XF6$I\+QZ,NCW=R@7;XE>G"\JSG0.W..)OW:L^"\%+  F#"$NX"#
MT<@),("U^^[8=5P+IURP_0\R,(IKA01:0"Z8"GR8 9>LRE/" 3I<AV1M"$4=
MPY<"0X8,E"PT!\6%OAQZ#G1@$1@;82[PN^"S-!/1'8^35I*J^<OB;#2)(I"!
M/H+$# W1#7YUP=3A#K39R9E-."9DAFHX\/^$1*R.(7$)_Y>0*L$3D"=&9?]K
M$\B]AC2"#K8#(&,+D+&**ADW1!G ;=# TP[&5.&D%5,G;'<$.:Y*%O1U@^=$
M$?OVA ;^ST2\MT>YD%APJJ^0:TQ(BX5EKK%@0>']GQ@D)#)G@EMD_?"D(5F6
MV*@K]Y61-M/GU9[9DQ=C6J?J;82U>'N,M$A /FJ8<% ^SDRA#P5O7T&AG 4W
MX.6RS@O]EKS*: -%US,>IM!Q\/9,H6B%QI1#J[N!QLM> !DY"=K&MVM1@HD=
M"5_CD2*_4%STM"C]CE3HO>]_5JGQ]) =DZ%-GR#SB)_FX-:-4=/VX/KA:Z$9
MA3;:QOIU:GDINK[UACY.H%(]<U_!ECV)U1_8)V].]U.L5,D6:L7EY+?%YUA:
M7@I4 =.F8G Z#/N<2%DR],=546A;4WY3\>I#:I'IC]K<KW_)KU:VE\2C#XA'
MBZT%-2R.\P]5GE4VC8R],MJ+ZH6)ERZ,\Z6&RCM\:D0_C$KFN.>XD'CIV^/4
MZ8YX<(I(5/VP:0/]=IM CH#RBFJ^_/2EGL9F=RO"64%5QFHHR=#SV)D(<P7=
M,JAT!%RL ?7<WBD_7 ERG9!#8T+? .JR-0&'+H:*8EX%/PO-8ZPB>P&W0PNH
MQ@K8#AX,:0JC+N/Y!= <F*ZU^WS?JF!'1)814T-G)!PV@\Z5K:B^/'NJ,YW"
M( [/#AH>[#/NSVPJ!;.2X9L"%PXRVX4&R *ZZCA(JJ"E$@S_5\CBW?R0?Q<U
M-PD+&S)UYI5O_X*AJ+9CJ2,7+H</UMT<E_Q5=_<6':E:DM)N:!RU-GF@WFM=
M3NO9F\SDU[\9\I9YPS YQUIT2U3&D,C0/WX6/PN)WD*"TY,<?+KIBP'VN&]0
M4(!&&"9TC:$)L" )8(R!>3("T5((E$.I]4Q74Z"$K #FI"Q;;J 9BX6FRMBC
M]WF]+PIOR1\2#MLV97_&Z(_^HO9%#=N"@ZSL2?:G0\9VY2F,)C30'/O%;G<
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
M3SH4_[K?:/>%RE#/)P(4>?N:8_O:OP'EB)!(%\MBOES+FYV&A=ON+5&$$S:
M@B&_+'7DXMT@7 ^"3_97F")01^+>,^H(,95L0H+FW/^ZO/_U!?P:L73AK,<J
M_!MNC$UT ;:J_N,8DOIK_K?_LX\0$H![H:L[AJ3YOW7 "D"Q\7\IF JX(>"&
M9+L2=#,<DX!&5YX2MCNRX7;EJ)*F;<(<-.0!@9<'](5F;@#*0%N  )".*LK.
MPF\O)&3(U07<- A\M1.N 0X&.&M]!EU[W\W'YPX!/_;9$7 #,0-N;ZJI-,==
M8*U4&:#[J7#6@ _6Y6MB0[(LD>0SECM=YQVAV:1EJ6ZQU?LF]^M?6UW[] S=
M^D/KAXAG^P^_)5HAB1#6BRYM(/T@$Q'Q=NR&M L+7@*H%]4G))RS#QH38,0@
MF;@E!"P*X>\W^S V6*#0[\B31';'_RZDF3P]?,EB;UH!^,V!_-FW1,FTGH5J
M R3+)@!\M1)Q H$.,Q#>V>%D%%4A#-.!KY_#)<(/\#R0:!R^*3::7H?6.@3;
M@?Q,8>E'NJ$JJF0A"*"%9:Y4!>"CF@G*71G(KJ=TY.JA,Y]0E1>!\H\"8^93
M4X9^#XPOGS& ]I]]0ZR C9ZQ4[!#O0M>K4 ^:JX.R>7JX=5APEW =^%]!E%W
M;)GZ 2,D9\_*0&?OED!&:/<4'XF(4%\@'-F2)ED;O[<"-"'^&1.<^O-^1J!%
MWQ)XI_L P2(F#H4S7/5NL>%2\"MNX+PE9WI#J ;<T219=0(8)0OGAU1CAZKD
M/\#_CK\.3)6W5H(U!=FNY^]"'J&SMH!".X E-'W;A4H44C%@+&&.(+?P'&Q$
M0 7XLT)TAF_;\2R8")R7BM^,@:,L:&[Q?24IT#@N^H#O)I 6I.ZV?]KG&F.T
M(RBWNVTF 'K',T6GA_"_<*,R#KGAH#H5-+<%G-D:!@D.@/;^?[X8)3OPE<0.
MRNP"!5G(3<^":_-?;]]M]O_"K55;M"TXC[V5U#&%Q&*IQ)=+F9S%LR9X;$[K
M$U)J'(+K9CX1(06T?(FJR^YM"<Z*+=L/#6M.ZN5'I2IO>_4%#;<$ZO:X]I*
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
M?)AYT4\$9&I#N/^?7BM_5EV!/[];B3+(LH7$G0_3%9T]U@B7Q)N30(?W0BC
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
M=CAY(&Z:KA-4,]J-VJT_I*[@E+?5C0JML:IC>0G3!#^S;DV'TT*!.S9KI;Y
MQ,$+.OO]:-N68@O&RQ40)DGB>]*E#DA766X,5DFA&:RD#R=TFN'+I240GXG$
MZ1V  *K2M[VM8;_I(\H% &O-@<P$Z$.##:9M )SJ$E:*=&U IN$CG.!N"# #
M,2U8UT4-!<M O(+](2U1#4KW^*H[W0)YL)K=%X-Z,)<'FM<"+G$DX!(7._DU
M52\GB\]KCJ.<^53(HN.QR;\K^7P@*+\Z>PDL!&@H0%16+2F$LK.(5<I5>;26
M8UEF8$CK\FA0SG!]^AKBST>JPZ5VMC_0K)&29S:,UR1=;),Q6KWZNS?#=7;6
M;JFDL:'K*:94J8 %))M&R0%W@7FJ@+QQ*QQ V[Y;_.<:I":03]WD+\^7KF[!
MWQT<M+<WP?X&IPEU?A[> !!5M^=W*3H8))TB]4PMUIR D2M^G,&>V>%]L-52
M>R4O_\QJ7&NSTNKCVJA=G,#"E6=J[NVQ]44P.('8(,L[.,G][;F_%4,4#5!3
M0):"[@77XG4NQ"MP;S<]]%"5MD1FW1Q4,D1UTUM,Z-\^M3,OZL,].7M,DQHE
M%#;KY[HVR*71*HOEM+4)"\Z?J3>_.Z;$6=]'[.EXQ]/QXM,XKJ;8@7J7+.4M
MQW4"7,U!8-H7R3OQ?ZSU,M:H]WD7$]9Y;F0P>C7M;NU5JND!EG3?&1<T\\8C
MX"TAONPM"?6W5EBU,C*:)]3U*R8 =,$5P ]B N(2N54V(>HC_X8U_8S@[@KO
M(4A\!/9W, Z."'['__Y/* ^"2PE<>H(H@FLY4"L#4(-@&"CFB 65!U-&R/!J
M2R#M5SK3=EAH*-B_Y D*G!//!A\"O=\'J+>WJ@)$-Z',^8*O^V\=E#2$,W@1
M6-^_:J\GJ'[A@NWY5F];(+$W56U7ED-%%X[<PFZYG*J@,J\2&F7W!*^2E5C<
M_ UU.C#BOS#O(7O3M@WKO$)FSJU/^)N&![&S_H=2%1?4,EF#+6^]F-RW5-^R
M.X%5YJSD15?KF66Q/'>Y4J&GT\/V4D,Y!<8XI:CT4Y9Z5PNW//O,91M,X\CT
M;VW;UP/])C00G:.:!'(P]1=BD^2S) ;T)/"T+?$>,46@"A\H23ZX?(#T9@B
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
M>5IS.-F5C(V1PB5>@44,$MA[K=FB:]7^$.J_F65ZUY OJ$.'_#LH>OR?[VV
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
M!7*1]GD\'6>DQL[5V+D:.U=O[ES]&,R^Z',E,*8V+F?Z"I;OT$YGZ*?<LJQ
MB(L356.?:^QS_=@5\666_-@56V#YSK3$M?J8*CJ5] I=I"MXP)1Q_FHTY9+8
M%1MAN21VQ=Y7)*$5Q985P94_S&]E\\Q@5N4,2ZOU%8NC*H,%6:<A\'TMO_6_
M+O0,7^%:G7F.JT[6X4<JH /3_77,B*_Q*/S+WEKQ!4SZX\EG?F?NZC&0PI]_
MJ2YX@@C^^O^0BBGJG@1F ([@@\&WKS/MV"[?4UU=;DT CT)M!%RM 6O!OQ14
M&]"G9;]BP6CPM._(><U0Z3S7S72?M9J")Z=J9%L4-P7;YG&\OVXVJ7F=&;1S
M+,YW-E6>4M[I3_P1P8"_@4U!K' &B!+V)8=65 $!3T+E[=8C1FA*M2:(.Y41
MN$#!7$,.PM-_.X@@ 0:S[#4RML!Z$L%[ WAX)0T]-#C Q4#64$U/V&XO(/A_
M_A?\LWNXJ -I%U[QT[^/WT/"]^PN>.Q?5]$_1+!XV=XMG4CN))3]G5U$B6RX
MDF#>P;__YW#Z+T('*EJZ9?_:V7</UC4-).M?1""%*#(ZMF5!0X4)>/4O0?>%
MM;-=9R:3()*[2OV_]C9BN!-(*I')_ MY^1'NQ\EF&L(*/=BRK<R#ZO+$_15^
M:_=1(*[L/K,<%9[.+UO6P3$M9?CLHZ<&Y^):\U\$$"(AK8!?MZL">F3R2@?U
M2F[$,R^RM(!,;8BU_]-KY<^*U@'/FA"']/"Q?CC=[4=__=,+,L< <T+]!K96
MVM.M<*&++5C#X;O'EBZ]37WARBK-9JM ]^A0SZ\T\PF$;A:0+I?K5@H5NE-A
MNG><7;/58[I(KX7D6\UNJUX!,V4*2+'2I)OY"EU'NCWP08-I]NXVR9!2B#VE
MC!BZTT689@',L\#DF4:.Z>R]6\'6@A^( Q9_"YJ.&>L<QPC[&&6[951D>YC2
M*+;)$NR@6BO#OM&!7@S):S\R6<QG;&904AA!2:*:9Z6KQH+F"3[Y>N2F@BJ3
M]L(FM59*)P76+K'3C ]&GCRS66V*W?*8JV$"3E:6N9IK2"[-DZ?/E+CYAB^/
MNPW.*^5HV>[@HM7R>?+TF:5EM]%Z'A$81^0'-4GH/:M8!8[,OAY9T*FQB"EJ
MG\NG2^:(DTHEJ<CR2>B+.!Y9U,:;=B[]_,RIO>K:V33*!:?H@Y$G\QS-GON$
M(-2JF$JD2I6:*ZV>LPH8>3+/[)"2];I4$AD4;3&+/.U7UG,:C#R9IU"LBEV2
MT'C.XY3Q=%T@JZV)PJ=.Y]E1F2;YG*R)C%IO, 6GJLN4S(*1I_,<>8,\FE^W
M.2%?L^WE<"[41W#DZ1FM-WEU5N@4F?5*] >5]BB;(N#;3^99L[D",TY--HQ1
M&Q3I(57H-G&:3_/8R8K\)%IE9J4*1GD3I9PV)MP,A2-/5C2<D:7*BF#[')'S
M!Z-93A&[J ]&GJRHN["Y,J.64IA7[YN4Z')5SE7XP.QZ/-):9M?U@3HL:WF3
MSO>:-,[3&,MG3N=9GPY11Y^5/4;0J!G+&'113+)\]G0DM5:9V=)U-:8U7:H-
M5G;(WH0&(T]6E!+GS_/U*%W0NALNN>FGJK.VH8"1)_-4%H;0F[6&*)<O==M"
M=62*0H>&/=U/7I\U4@6C-Z0G6*VR*HMJ8;BLZ$&ST).A\FC9'@]-=XFM:]FT
MN:PM-JE.,/1D2]/KT:2G)/M3KIO-C9;K5$=>5(,6>R=GGZ\WU\-::3EB5"MO
MI4FZJ^/#X*GXZ62IE4VOL"+%U21VA?=4%.6*0=^!TZ$$016<6J^*4<MG=#(I
M"5X>$!].G@XMEXMFKM\;C#C*+M3GY-B06CF 9,G3H8WUPK&6'#/#Y)S=5MO%
M1:%<#1(S3H;V!7)=S8\I0ULL6NT,F2F8)2S(!CW9+=:FRB52;WH:RK0;W&;5
MYU$T>.K);I6H<<9P=,/"*#WEU^VT4>LX@1OT9 *$*X^<?C]9T!:U)MX1' XO
MEX*A)Q,@NA--R64G#6Z='/9*\U)'\MA US^9@-8V[2Y;+N89HEYN%*5.(^F/
MP- SE,WGK?8T671LK=L0VE.ES$Y4DH5#3R;@]5=3O-%NV)H@E5+CY7-5X/+!
MT),)T+TDVLE."SF,6(^JO>2J."H.P01.'ZI4D]-V$9, $2YM$@-R/#>:P-OD
MA+/R2U84UFRFQ'@Y@6R,"G)6$Y5S-Y2P9)P*9Y2;VKHP>J8D11P0;98G3Y^I
MCX3>NF,T*$9.4>L!/QWXWL@_=T.UT@MA"O3P'#9(=0><Z,XG=4TY=YN0A;Z\
MLO+ZDLLO7'195CJ,U#U[FZS)4DDALMH86Y ^7<?L>F8L^3QU>DISCZM,V;)<
M9 :"R=5GL\VD!;"".H/\A6=F@@D\S5%.W1SGJ\\96F'/H;1;L9>%?HJ3L37E
MZ_@D6UP\L\HYG)PU2VQ3 52*>79=&"?7V>)T"4>>K!V?S;-US&,*G('E5U.K
M(/.21(.1)^A'&_0TDVS6TMR $#5+>;;[8XL^A[TFQO$YN3"H:Z7:IMN>N8T)
MNSJ+O<-)S;+1+I (A/*DK''<M,EM_'/8NUKUB959:>)<*YE=,QRC=7(#]BSV
M\E/!+%=X8J5U.]* $9<H5YD'0W=[_TJS#+\XYM=Z&6O4^[R+">L\-S(8O9H&
M-Q8<2H9F&O -6:+=CT8GKZ%OGM.]2>IKUBT@K^((M,GL308/;2*XTQ[3B.,9
MX),U5 %#6PX"34!+,%\$:/.R'5AM*J9I28(K0(MB @FV/K2V(8<&J^ XGA#!
M001#!M\- ^QLV7$%:!J2)Q,9/EJ&(\#KZ+FMZ@@>*B$$\F_X(K@S!/;W_G"#
MW_&__Q,\29Q">YB#2$'C<T06Q.G.K 1]A0X2OO0D>B_X<O .P9:1.9B0'-BJ
MQK)N^0DDV/]S?%2R+6_.SU,Y7V&+55Y35_-ZKC@>I026#0#@7HQQ&9(+S.Y[
M TX8IR=:NB[,'?G7[H?#R<*);,T=4!$40XO!SEX56%<$S[5V'X2VE>"3(PO,
M@1MJ.^;4Q.7:NXGM["OARC\7<YK"$^EWPV\/M-N#YUO@F1- $KM=V_V.0B?;
MK]!<Y8-]^M!2M#V,X,6[H<+8L73/E:]L(GK'P_H%>^6+E>\/?9)$ DO'!Q&!
M@\@D4MGX(")P$#%'1.0@\$1\143A'+*)+!4?1 0. B!3)CZ("!P$CB7(=Q-N
MXY.X'4O$4E,4#@)<UN^F&L<'<3,](DG$!W&Y@_AB-NV'EHT;KOIF$=L?J4P7
M#V(^%_/QO^.CMQP&8NS244[__=__CB^Q 1\I[U<."/N8#$ZV)*:+K]&%:.EP
M5X+\M-^\(?$$\:X>]7.)Y%VMYH&(Y$K:Q/UW8)=SA5YHR1^)[?=?\0V!(9M(
MW[9ZTTUQ(9:?HG!//N3-$$M5/Y-:'D+6NM25&EXK%[Q8KRQ,/23+/("(M4UG
M?Q@!Z^$Q(A:[8K'KFU^DWTKLVKTH#[XTME7PX+*L+V6X,O@2P730\Z@<TU(T
M /<!A+*+7\*Q,/:0PMB^J% LCGT?<>R/P6%7>.68*&))*[X=(RMI_2G-A\5<
M0QN%-;D<&GYO:O@1LM*N%F8L+/UP8>F@\&(L+L7BTHXL]N7I8G$IOB O*"Y%
MJ&'!EWEB6PXNEJ-N+$<],LT$M<9C(>L&0M8C4PDL>1VJ:?\.4NW_$XMBMQ7%
M'IEX@@+"WTI,^\Z1.=&256_C+8S6FG_B.7^0C?T=E_Q1XO-W7/-M),1HK?D&
M-K;H+?HV@EVTUOQ1DNIW7/-'^: 17O/OR:!W;1P#;3POK3I@J]*J8'JP?-NV
MBMK%I(][+_-B#;ZV5KT(-L79%^=&'_74H@='@1AY;]J]1#.G4#C\"62;N?^!
M7:Z;X-;2%ZEN@E'@RU <C.$ID!!__#:$0N.WY9+H&3>/$6_?W(<*GE\*6S<]
MA.'JVG)B=&[7*_2B?]V1C3CJR$;<J\F:+YONNF7*X:,/"TH?M%PC&JVZE-_D
MTPS5?E;)3G9:9VTZJBW78'L)U2J1"C7/,80VE412Y!FEXX=UZ_$GC,3>Z+OV
M $P8O0OEZM;CZ^'.]:W %\6=WVL;_[V1YZ(]Y9TO <\7&\AGNNEVH42C"ZPE
MBJ8\D#)I(^>'+3+(1)*Z$A[=H #/5?6Y[R&6QK;\V)8? 5M^E'6P"'2%WZME
M.RR_G&+V;<QLL4W_)\%2)&SZ%Y;W?P+MQH;]Q[DN8\-^;-B/#?O?S+!?M.R)
M#$Y*^B^SFJMV;.*/6H+7&5)%_AW;_:-L]]_RE ?VGC:E@*^")[SG"BC0ZJA!
M5*II3=:JS-28+'L^[\,NKL1?_Q!/J3-^@/\\!*M&[P**'0&Q(^";. +^%(B^
MZ!K F\1FFG=-%ZN-IJ5TVA)3:Y2&(!7Z!O#8-Q#[!F+?0.P;>'QB?T#?P&G@
M_^LNYW'H_R.Z":X0Y44[?&OR,#)5<V*3.3O;P8QI*=7HU-5UP;RC>G? 9&%M
MNC.2$KF2&T/94@BLU%I.UHM^K]79 '4.WX9V$>FS*MVC\F?T[J)(.(1^2)+'
M5;3 ;P91MU3[#@#JBPI>H\!QU>EDT& HL9P>MB>HWED%L'7UX*][\^KW=@.^
MXM@MPX+K"SQ(_/;6EP/.0QU9_"5Y-JQ0=);OQA_SW?C+?+<OYGU0J!*62R+V
MG-<K4*O5."5V&*\N#EB]PDU: @LY+_W^;0K@-YM(I_8WY]')QM[;Q_;>7D6B
MN(L#]K>C2Q[,GQHG2OW01"GRZ)XD(WU/IA:34JM(<'V.*.//OM*S%51G(YPH
MU:QS6)?T%SW-,+,#$0>;K+D*W&Z@3I-QEE3L'/VISM'O!3N/DR65K;7[1'J8
M\\%N=?2I[#$X;K#P)("FC),)+!7[0F-?:.P+C7VACT_L#^@+C?.D'MD!>J,8
MU^\E.WU198.3#58F@6T!AQM*08' Y!RLQ-FSSADA:&FF.IE^7B,X(K50'8SL
M6A7+YW$2JF44^93*GDI!EXM:C4V24?!Q_J2DMUBCB[9&M\.JWU7J4EK5X-A\
MT\:$C,].JA,T;S=HB&= J4N"BS)V?SZF^S,*:!W[T>(LR#@+,II>NS@+,LZ"
M_/ZR6/2S(%FUYJ23V3&+4:D54ZZT\\;45W@\"17*)/E$DLDX#3+V],6>OH?'
MHD=.@W0]MT.G1L:2&93TN3<<S*SI@H8H%:=!QJZ_V/47N_YBUU^4TR#)1W5!
MW,$+>*P#DD 'E"QOK,M14 )OGB<9;:$K+4VJ.8.LI[1U76>-9XZ7!D3$\R2'
MWI0UFUFJQ!DC9SJ9S89>UO=Y/ 45OBQ!/J72UY*F8@]B1#R(<9;DQ;(D'QV@
M'B-+DL13*Z8Y=99,K= JCLR^(.HF"T'KZOK?O7GU>[L)?S]+\CL89QX@2Y(E
MT?8SG>VB&#5I]H<#PYE/J(#S/LZ2S"325)PE^1V]NU>1*!X@2_*S"@^4*4:-
M@EXEUK,>MK9F^"A?\Y/9,OVMA0GL/L)$!6"7:CJJV!=T[YSX(-HYQ[:UFH3E
MI:Q,.9-!5EPJ$,1P[*]_DD_I#/5$I(AWA(CH>=>CAT0_T:5W_;3;Z*WY)Y[S
MU5VWT5OR]5V^T5OS]5U^T5OSC5R%T5IT[!G\&6N^C6<P=@3N5[^UY G0814[
M B_H"(Q4,&CL!XRT'_" "=_T W9F>G75%/&,MK;-&3&AGSLH3O-X.BCP A5B
M[%K)-[$?,/8#1@B>8C_@C?V !_#T13_@,V8U6T.CXVK=7D%IHN-1RVT'H!7X
M <_$JL=^P-@/&!DVO+,?\&V^>\L/B.\YCVFU9:=>2B89JLEQ!28YR IU!7+>
MI_R R=@/&/L!8S]@[ <\+TQ<!M2._8#X&?EAEE*KZS)>+FB#KM+'UL/!>#SU
M(8I!1R#Q!+;^B<+>BR:*'8&Q@RAV!/[<<XX=@3]BS;$C\(<L.G8$_HPUQX[
M&VN"?=EQ90D!6@7"K.:R"']Q+01^'#L&8\=@[!B\AV,P9,JP)$/ DCT+?O29
MO,&RK,X4M\@4N2['S;'UJ&\ZAL+CV3AO,/87QO["V%]X3]3ZHAMQ+B^M1D%;
MB$RMU!.RZV<\MR[Y$,OB=,+8C1AY[KRS&_'+[/BQ=U$M-<U^I>FA'-7WT-&P
M+XRR@T"XB+,,HR)^Q-[%B,@?L7<Q2J('K2BVK BN_&$68@I3VC,GF1LP:E[V
ME^VELEQ[- 2Y+V4A_M>%OLX0Z^ IJZ8GA..N#3R?1)I+3R/@#)PXN-6/D1#^
M_$MU 6N)X*\=<#P ^Z&Y*:!3)#A.!VS7)6<7,+,*&,=T?Y'4N]/M365;1GSX
MCVDAUF&AK&!FB#5![)=).\&D 3#)-N).983 <!*!_(%8NP\(//S@WZ*EZX J
MU:6LKY^"/\+C(+"_0PX+1CG!1_C?_T&DH.L((@OB%+X3#H?B@8/(X&72J44N
ML-W!#M2)*!XKA,([GFKG],14%X$<NX0[_W)^AT?Q^T>  (Q"YH!,9-CK%AG+
MNN7_"E;^YR)NP""]]5P^ ON7!0;['6QWI\MM45I?;J2"YZB.UG*9^G.VI?1'
MDG*"ON)4ECQ=;DW.RYROW@%@]MQ;Z>VF]B#N]<#J<CKX4PBK)7"'SWE]1LUJ
MO(@YVKI8KZZS0F9#IMGP$@3P" #<?7\H#]19&0#V'$S>M0%Z7XS<51.=!M+P
M+RQQ(L^\(=9]0:H+[H+=$[9V88@*PMR1?^U^.)P4I.KMA QAA0;T8NZFA>KR
MQ/TE>*ZU^R"05,)/MD)1..9 2MJ.@9_L-$/L7W!QKKV;V/:%>+CHS[DQTN^Z
M:R1U>>;A%GC@!'+&=LMVOZ-0_OLUMF5!0WVP27_/+4>%!/C+EG4!XN>K9VY-
MZ\&+=T.%L6/IGBN_6N4-I?TO"/M@+?M__U#PSZ3B@XC"09 )[%VO;7P2,4O\
MM(/ W@U,B@_B5@>!)8@8FRYX$E\,^7A?5OJ>]LCW,?CB)CL1*E[VJUT8'[W%
M#RE[;.G2WM%R^N___G=\D0WX2!RXN*_E[ Z\0P<G>Q(3QM<( ZAO<%<"7^MO
M;@:>(&[0$>M/=F/G*D*/EQ\#X-WI_#'9__JP^*<4'T98(=;D4C?!=Z>$'X&#
M6U=YC((Q[?\(%'SMSXG!, ;#/7&4;,%T0ZFX(+@Q*!XOSP#?U.5[\\!C0&"$
M4B6^S 5;#_>G</&'T<3%4/"1Z:,HJ#82!!O% !E!(2%B:[Z-O3!BB_Z)!_V!
M4^Q;KODC_U.$%_T;:'WO,&S.7&Z3>UVD*IB>8*^1RV7QADP;1]QO!=CO$*C^
M^^F]Q!]%*;X=EAY&909!F=NQF&1Q37R]DAE*3J\Y:MT=LB/E#JFZX=0J)EB8
M!S]T6NY4MGM3P=S&I#>M+?^]F:M;<^1V#:_D!XQA+IE%7ZTP;-[G*9BJF\:P
M)R#97B/#+>;<@QOXWB!]B5R9[;WZR!ATD63=**'031)O/X]!KU+] LL=M-E!
MY?2M1!BN4>D[E:2!,FA=H#H+OY"OKA0 3ZF__DDE4N^5'8^8;GO"=<'Z92G6
M7:*JI-Y=P+EF5L97D&:@M'FT2F)K;D&5TT)W08P'%!M%>2?@*:=BML%A6M(9
M/%DOL2EO;M@2EA_3]7X;Q48:1_-!)X-D]BF=HJXG[?PP!HV-"Y$'I=^3>!X'
MEJ(A !V#TN](07ZQU_7R S;)&:OETM8FYO-0]?F@E4$F05Q8"KJW.A(F4C^J
MDGFRG,N547D ,P\:'ULD=/P/BM]$Z+)\%'*.NCI9M.R)#+9:^B^SFJOV@RB6
MUT?+Z'CM;P:=#WI@-U$8'@,4(TF5#RA*'KH?KU%&^+N)*F]*F,<P2@(8E2P/
MUI.('H[>LI#PM57<MF#.U5)'2&/YI>X.:CA>(X?W* I\ 4]CT42]3@L;\4RW
MO,JF%G:&(\LTCV.!J_':QK?8U1B[&J,#0A>N"WQ_&(J&I>V/7(T$U1-HCK'F
MVMH8F)LJN6KHM@_Q*? UIM-?J;9W6%DT(K7V3HL AE4$#HHCB+HLV)#_IKNB
M3KL+'[[V&M41W@QJ)I(O_+3EJ2)*8J]K(/R?H]H.>T2 A:TL^]=..#E8U[:F
M!!% A"*C8>D(80)>_4O0?6'M[(I_9A)$<J<__MH+.' GD%0BD_D7\O(CW(^3
MS80ULPZV[*@F5OBMXZI8V\\^J%^Q/1?7FO\B\$10>.ZE;AB>3"2O=% '2 ?_
MAV=>BO$)R-2&\/0_O5;^[$4'?P8< >!!/PKGWW[TUS]!N398Y0Y6_86,O:=;
MX9\+UNP["8S_(*2^TFRV"G2/#N7K2C.?0.AF >ERN6ZE4*$[%:9[Q]DU6SVF
MB_1:2+[5[+;J%3!3IH 4*TVZF:_0=:3; Q\TF&;O;I-\70AQQ-"=+L(T"V">
M!2;/-'),YZ5^(=Q:&$!SP.)O0=,Q8YWC&&&'ZC)9HV>##.-J1*K37I?FEL*.
M6![GDW^%Y+4?F2D05#N+Z4/&4Z;Z,U>L6HT9RQ-0/#T>:5:K';)98#N8D$^M
MV59!)YY;/AAY\LR)V<6GBX*&<A[64(FYG1VS2Y\G3Y]9X355&HD]GR,\E%S*
MN6ZG4U# R)-GMCHDPZ4W^3Q3<R:5],9XEEJBSR=/GUFJY]E"+Y5UN19&VTZZ
M)4SH%AQY\DQOZ3>SI)VO,939'PJ%_)+)82Q/\=C),V?)#I@L/=*Z:;'>HO1,
M,L.R8;S@\4@\AW%X1^#+6FNJZ$P+3?>,!1QY\G:L.7![!MVM8H;"R-5*CZ%G
M<S8,\CD>R4Y*]FR&;@8:D1D;DZ1#5O)9A4^?SM->=\FA,%/!BC:V8XR9-#:E
M63YS.G)D]FLM+M.>:C7,[IBN-5QY+1J,/%F1,]<S:4=S#49@"D+;[Q>MH:&
MD2?S7"MXJMQO=4EN4:4)MD6/2^I&X;.G;T\*)7T](>8UH'X6YIBQ$%VB 4>>
MO+UM]6KI[$+".*&7EJ>53M8SQSZ?/7W[,Y,!QYB:BAK:]#=D<=C1G\'. TGF
MY/6,N1Z*I?G XU W,W/:;#^S!F0'ANY.Z974$'YQS*_U,M:H]WD7$]9Y;F0P
M>C7M*CP<FKR&=##S'%>=K+]2=[405E#=54Y]JW#J$R(@KN4*.KR XB">^TOQ
M[P?Q- 7;YIN]5L8JCU6<DW,9N[ORLU2I1[\9PG.N:#+82.3?VQK(8$=?:A\'
MY9>5,#@O\6T(XK"X^E2U75DV@P<<E%,7N\]]T2.D$4-H&Z^JIP;+.N,_*(5P
M1(:<RVJ=PU"%([OY=+E:D_R__B$R3QDL>4HAD 2.CAYVH).W5>R=<T6VGX**
MR]^1/CY5?'^DT3V=?EZ+3#[G6VR)3(WM_J-22VM=W&BC&9]CUO71J-?H6^W:
M5 '4@CUESY39/T\M8 2ZHQA$4FU9="W;V17OAJL2S/41)6VKLR>"5H?PKMJ.
M#1Y_E@Y59UNI6@$K10"];>]F<'+;47 +D/$Z>,Y^-N 4P"UWIP+@E[BESO2K
M,<#TIQ>CHN"?[3&$A((?T,>SU"-:[0&7Q%2_/A>Z8I*V6( F./':VH,&TT+F
MP2.0B6T9P4E(@ALHN,&AAL@15':?>+J^1K9.*K!EX*;:EFYW@N\%I@%( H":
M9*#;/!C>O%7[_6V0"$X7  4LY@FV87>^D%Q^A:Z%;85XAP%RH0K+O%N=<&^*
MELV /2W"+0UCR#J.=Y;=@:J#FNU6$UP.@ZQ;QRI<&2B%?_UCF?(IKP=;^8J+
MH;" I_^&S&B  ]\*%=NN"Q.8; _$4DUVD24T-CZ>8!G1<T/]92I?FA56G%K"
MDG)R,W93BO_1N1V>T1/T!)\[2$EU1%N&WPRY$P*M+CB..E&A^]@!'R)RV)\A
MZ,7Q(6;#S]ZZ$431@_\Q0Y 6;%T-JKPA_U;_ S[=JBOGL>-O2&7_5L' PS^=
M6Q$@@B28-=#;=,20Y=U<@VV86CJXA9P8B.Y,T+WV.%_LVCJA">2LFS6;-:>Z
M_G,@^A0!7[H9RJ?U]+^#1C?A5-&@T0><_?ZR1N05_%F&*P#$9BDF>(\$N44
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
M)5-0 /8$<6(X%://-X\3.[L'+8:?N_*:71R!],*F6I-JV@CMX^E*OY5A,O@
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
M&Y+W[URN\\\#TO$-4Y+7@9PP2J#LM]N*3DD(F.9N,6!3-5>J!"; E! )+@>
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
M+I3G P 37&,&URB0F="9" 08UM<\X:RUY)4,)-9&5!M19 -Z;F4)F5CF//"
MZ.:.G]M[D^84L&JQ4 WHI"L9@ (/2,=2D:I@:.#'+*"K!/XOR.#0:?A@B&T)
MLOZ 0/<N>'!P)VSO[M-VGU: _$CF_!&YSEV$.)4E5Y<;DY>W$B7CR0&7\;=_
M/+Z?(%->IN+-NBI;$)<,IN=F;M(\<3]Q>MQ%[R=^^]ZMO6-_P'$P5(;*M>\:
MW8'"\ST:5&+5V;9("KV*X:V<]>0/?_J6^DS1X#) @.Y773>!MOT=2)3IVN !
M]C\_KZ<^E[I#VZY\ZR4+@T*@&UM8V/+/W0_[<X7<V/J4X&E["W([IV#@PA)<
MQ]Q]$#JP@D\.W%S[V2WAF&<_8C+T3CG6;EX['U:X\(\E[5#T(X:_E3FXYT'8
M>[X)GCD!K-X1;?=[ D;5_ Q=@O"&Y5UOW)87P8MW0X6Q#:]!Y&NXX3X4@O4;
M$5C/CM4_C$G"@VBLF"_1XPL>\R6"?,'H1_K-LE Q8V[#&.*1(F*^1(\O ,AB
MOD20+Q#(8KY<C"^_F=3^KGW\#1(#WC-%[XH$X+ &/_R_']2/3Y*#Q +DC%#U
MC=/WQH<4'!^\=/\"^L>OO&F%-_3=J1S^, R"I%EPJ);"#W95$<+?".QA5\QD
M_/F"$;%N74.WT/=(\)9DO!;(>LCW?;7"/ZM66.HQ%8$ZGF=4*^BW/"+498SH
M[R4F7PM]PY"=/\?1B%4=W[F??YX-)2.VP+.5\PI=2G$ZZDF'3M2+S1_"W9F
M_@M+^O57=Q>2?J^"'CV3_W5AIH-7Y'*=N[#;(R^V[]V$W$GN_WOW!E^P5N;+
MV K;<OCL?L91R9'GAZG\C5V(P"X=;INX?U00(./:,(#$WHT+G@([D/ Y:?>E
MZ<1:-A92D48;GEM,J5Z36HT^WZ!\9VF>JC@MCS*CY*8_16E!&(U;VD8NLC!P
MF_CQB\8>J!-]QN_BM'8/X'#C ^NYP.&;8</+.KK7QH9T!C.%%E/HH)VRJI",
MR@W%VN<K@;R!#96DU*6KO-1 $UUWU6D/BTZW#B-*Z1^_*/J!PH][?W^9(WIH
M"FV3,>_U@'X/(/B%W1;1/*!_$V-JJ[J[MD0KMSVT)INA-E\UNP6W1B?:_3\I
M2OXJ: [:?IL?)BP/7<XR?+9NU:K='DS#  95\H&Z3%.AFSA%[@%=OK"K*)).
MD6]BC1V"RY@2R>QJ(?J<G,#1D9TG!QWW(N RYD=E'-<S&"!7<E#&)[4)@S(
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
M$!INGTW XW*-IPZ\[T;K1:O.]5GB%$-#+((KCU*Q1H*W+><Y/>/ -0Y3,T1
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
M29)KW0.>3"M<#C.;,W#FU\B^(LJ)C92_HA1QBVE5FO4:AH8+M*?CCI.;B,!
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
MYP@G\A!.SC,3X9_#>6U' 4K Z1_SQ[5EZ?&,FO9[4@0$I[&]50 +6[B6.!4
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
M]3M-IL5G/4 6\A%_@RSO=!=X ')O+T)EU/W'*Y<P/WGJ+!F 44X %(U)'IA
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
M>C>Q%YZRZ0-Q>#^_:C_AZ3?,ATMG%N;DL9-3;5$W;=<ZD1_(85BKH'KE =O
MQK901:U4M^U=*#_PT!I[*PX+2SZ^%L;VD7^K0"."!'E+EE3G*:#K$JO8%XL/
M\OQ&R98- V$6EJHC9)C5^!#  W3%"8:/!(%S.ZM%V%(.811+#I(GD;_AX*W%
M\O*/._,EV*N0OJSK-I('KS:1C&!H#T@]$&1!1QC;-D4U^.T!IE'J,.'2>@CR
M*TN&84J"(X ?Q,>'YU\[/OA!7C\@U6IV[V/)% NRH8:?!P]@E(#T2+.-=& 4
M=X""P1]MH%A 62W+!(AI/R* $F57]Q$<VU'B^6VRM5)%.?PB]#W"3%.D;$*J
M6GOD $2:F6J8;GI$*_!"8?^5CTCWU+"%9:Y420ZA6D!L670A!RQY9>HKN,7K
M6S$6PV_NLZ#]-&C[V+SP_]L[U^:TE:2/OW\^A6KW.4\E6P9K)'%SMDX5P9<X
M3FS'Y'+V>>,:8 "MA81UP;"??KMG)!"8^)+8,+)[]YP3(H2DF1[]Y]<],SU=
M6?RY+9(Q/B0T3CX"!S(VQ'4"%H!#>!5/1-"J,HQ5SXD7Z_!(R,K\WV?)?N7@
MZO1\[BOU\-FS+V66FI=P^9PTIQ3W+_R3C\/OEP=')]^Z1ZS^_^/C\7+0NO*(
MH#4*QEE_Y4Y\ZHZ2T?NL<EH<6 &.ST/15:6BISP,+\_LP^L/@].OYV;I:-8R
M/Y\U/O['_0)"!O[PK3BT 6^\AY4JWQ=NP#,F(39=7+&,1LF_IU75>NXT.*N]
MBU:MZ.+Z:*^;CN=#4^7=+M 5+A-7]T7+PSL_BK)F<+L=8\Y U<;ADJX\\8'M
M8@Q-^?)3\]C_<MZ,C[\)435/FV?!AZN_!MMN&-8#VH4+<K"V49R+$.<8\P%\
M<P#BZP+!-*%BX0V+6B X\#[#^8=!N"^P;EV5,NVL/V]%[\$V\Q94LG)-:%CO
M-D=?XZ;_[<?ER7]XR$7M4S#XVY]K)KW]@980Z>VE8?'^.V2<V\9)D]P]D8U&
MWE_C+Y.C?N?JY,/'RN>3'Y<C<=!\@(VRW :9K5)Y?B4R^U.+I1K;E%W4$QHM
M+\T?#OY]?<6')ZVKDTF0=+[$P4EP"3:S[E)FE+XN.(TXNJ9B..@_A9,TDRKO
M(7/)K!)EH!HT]:VL$3M&E'2'J[*<:3+>1';)"!AC0 &H"%!JH)+G:1-K$D_^
M<JNX_FLTF$R_3NNF=?:MWG2_B-KW?S6?M/--AX,?UOF>G!WW+?O[Q>=O1YW>
M]()=G%QXU\U[.M^?0!G6'!@=":Z?95B!@Q,!GP'[ACR&EG"=N- <9,?X/L/*
M'>PJ^7+N$=EK[N"+/H)KRL:$EYW"5]TA +*05PY!L SI[&$[\H-8XAG>RW]R
M1;_/J_SMMG$4FX==2XP^7+5.IS]N6OVV./UQ\V02WTHM\17!Y>L0K# $C_&S
MZZ.,7"C#] ZQAENR@EMI_5Y@J>>-Q\PUGJ,?G\\/CNK1R4')_/'I^_'!:=N;
M(KF5V9K& Z9D9=,T.K/;+WS9.)AVQ5CR?R1B+"5@UD^<A)V%,$!G(+V+^"[,
M,SJ"A^B=@0Q&< OX!]N,6.;Z'@=?$OR6T1AC?ZE#@57@HW>=M6BXNOQI%H%N
MGQU>S/V&L9=$Q6MVV5G?>>AB5 GL+99^WE:5<9;5Q6%6%7AF.^B'\V^.P1C3
M]@T?XS?IY3^P[^WJP.H<F,F'9/]ZOS7S:^&2XCF/RF#;B1?IG=ZC2+3'H>"]
M,S___&P]@T2?SF<7K,)*WXY:%CB]U<^-L7^#_9FUAD)2F4N]_"$T3108\(X]
M.5WD[C;7 [<$#N-)F"#ISOQ(\3 ,DL$P;8;*C^G#9>#WTK\ ]^%"8'2RO,T@
MR*_$:U;CD\^>#2SI1/!60P$.)D@8MZ-VWG HFC?USOL#;AWW)X<_JI;SKR_;
MC]K5'QVU6Y35D(7=6*SNUN-K'[P[%)TPX>$\;.7L0!<P3F*9W$"-&!FI7'O\
M)DK@1;[!5&6NI_Q_?#&_E=ME8]\%Z7&[,:A"$L;S@8+Y87A=L20? 6K$S. X
MPRR*EX*%2W3<-USP9^:["L!7*(0RNM1WX:S(>+.?!BF:@P *ZP?&I+P:[X/^
MDGOP9PLA&=XMU!=KSW)*K>\ETVS4V%+XZ]8%\<D\9*RL'U.Z]_/SY/8'(3XX
M_'44S8O)/0]4O0]*Q]%-DZ$YSQ,#J,.)&WAI[C@H=%NHNF;FF\[;+(22Y5(W
MFEU5%1<)=,3,[)0J&.X;)=Y @B%Z%$+U^GA6=BW+?,/77NO^TLAGC!2@YIY_
MQ'L"XTO0"N&4F=&'SDI%^$9NY$&7@_J<2Y$GDV7@ P;2JLUCHY-$P&&1\GMZ
M8B*\8#R/#F6G+U 9Z"3Q,!8Q +B)ARJV"T6/QE#&Z-YR1$)<(0_AZ6K\$\?.
MA1_Q. A5PQLCC&"3[_$1D!W<2@Z%PIUB.,<7LRB]O-$7^.UBYXO\9>')7=%?
M[AV1KOQ>A(575;C4^.]XZHD["*#WB[Q9V5C;9>@V\M!S(WCT&3[C;XX!YZ>2
M/G3&S6.FCQ4NZ7:5DF[?2KK]\E)L/U'&9;-B5?O<ZEQV^MR^=&J\>]GI]MEE
MPS&=NMFK5&O]7IJY]ID;\[UX)W\)#DV@$'>E^:Y^B[*P)SLX_'3K:V4!&2C!
M^2_3(6A!;$C/RTC&Z#Z\S$';I<=(BQT9-T.W.S1XB%/#>KAL0J6W[0BU5WW7
M2WH*X<!)! A)HM2QBM+?0+6.L6;A).0*.+$S@PZN+S"-KGA*?^NWJ_&I\LL^
M('GLTN0CF7'V-]/)REE#:CE(N5'98NJRV_G*L@E7SRNT&TX@MZCO+:=6?'7U
M[; RHP:^T0:^U5R(KZZ^G6K9I@K?7*K)U:YSFZM8UBUZ@G^M^^.;*; ],(W@
MP[NOYT?[U5+>&0G]Q:FLC^Q<]&D"]YE]7T3=T!WC^_H+IK];V#==E@>DA7R@
M=A;'?H<R @X.U=KW]Y?%"Q5[V\7^E=&LPHC6,Q=P68=>O#4WKT//:;LE#2JR
M[1XO/\]=KJ702JUL96]I.C994H=^RA9VF1EO^$.R].BD-7<!TF9X:+/-E6?7
M+$6B6X**P0DC>T)UD$LC0O]WG03QNWMOITY[][<T]#Z,XW&TM[M[<W-3ACN4
M!\%DMQEVA^ *1;NB-^#A+@[^[C9,NUIAN_"^,N8XENG _^&05=F=F);E-"[%
MU&:\'$_C)UAD=V_8_T+(H=">T4)CR0PV<A3@>!YBQ5%:-;=/S=&W:CL&:S3L
M6^,#KUJ7-UJ>5;PS0(%P&!U77R>A<0C&-9A9.IE/=/CY5";3UEF8"?T*+;E$
M=SJK" '<$L!U".#T5I-" 5QG4P"WPFW-$73S<K(:3N6XB^GD@71"8NL6ZRVF
M7M8E)C#"/;UPK_.B<6^N;8ZS<7'32-FW4'H"1:V+0Z"X=5#L$BCJK2:% L6"
M<^)I,%%\P9R,+X@3=>+$+G$B<>)+47;B1)WUASAQB1-[Q(EZJXFVG,C@7]NN
M R?:ELGL*H)BB96'\:@PI'@<!0/A[\BESBDJ?DQ\8520+IA%E*@5):XBXI<Y
M(EXG/ 252"E1FM V,QOJJ]\T<%QH92;.TUE!B/,6G&<53"V(\;;->&;#LNJ,
MF9;\7-GM!=WZIH* LG_/F XI /.U9#, W\]*G_C-[77_)*S;1C-IMGKI) 7I
M>:R.566LCDA,#VTE$B/!*$AY]-.)WR0QI\P*IA9$8MLFL2S:5C&=FF56=B<.
MJS8L^U),G<U%V]J8GPUP3*5>&HT"WVC'0?=*9AM,0VV$9/H@F9-#,ADI2]?&
M)(,DBHV:#(U5=!9: K)"RR@!F<YR04"V #(*C>FM)!H"F</,2@W3'9NF4V_L
MXIX()<NT&+-L-@4LZUF;PK)<!I0L._&%&&"^:*XR+LL-J&2*?3=V191^*S>4
M.T_"*.%JR[1YSF0KNTSN-TNYD^%KUK =8CV=6,_ZE<ES%M-9UXG_"JW:Q'\Z
M2PCQ7X9/S*2(G.92HA\ 9F.C-GZV31P;K6YZ;!13<H]\%7E#<EMLE-81\8T0
MOI&HG2$0"_;E'O5!F!Y1F]?B%V?I3B"$<_K@'$B2G8_=/6@A! VNZB'.Q'*D
M'P4ICWXZ\?LL1\$\O:5$/Y;+UKS63,>"8[L3L^Z8=1Q=A:YW8\.K!Z.Q%\PD
MOBU KI?M-P*P]I'[,L^)ZNUK:J/X9C0,KHS/;C0,^3\(X;1"N)7AUWL7*I@U
MG969"*[0LDL$I[-\$,'E",XNF%P0P>E"< V352VK"@3''+M>MW1#N,\<BF%8
M<FFIV5 $]Y%WKXQVV6AVDF'0[Q/$Z0IQBV4-RV;468P)V@JMM 1M.LL%05L.
MVIR"R05!FR;0QAB FUVM[TXLJUZI.!MFMD72$.CGUP+<.DI;#LPEWLQ@,BS'
M&/&;_ORF#&8I@[U@67ZE.>9>B:(3'.JL102'.3BLD)1H+27ZPF'5K-?JCKD[
M<6R[8E45'%;L3=%A-M5.+70]4ZLLCG!EA?%)Q#B*AZ-Z*S.Q6$6=LB.__"RB
M*(SFY+B3#M;*:7BGW.,3WG,)&O6"QLK*[+M\V$^ECV95G16;PGZ%EF,B.YT%
M@\@N1W;5@LD%D9T^9-=P:G85R:[&[,IE3_29PS<%=HOTOYCV%W,7IXQW[L&=
MWP .K,T\)_I]7"8[$6K>EDJB47U+^+9]?&OZOI@:[Q'<]D7?]5UIIO,PF,Z6
M=@5F=?WYC>)^).E$AX74(Z+#'!W62$JTEA)]Z;!F,J?&,--=E=F-="U&I:IW
MW*^:C_O-%]Q2<$\#.LP']ZIW!/?4KA^T$$,//:;@'@E&0<HC=6(WYAU/P)\]
M=_+G/^$_V96ZGN#A7B>(A^GM2O Y#D9[-MY6%9>9YA\ZE4J60?[W?_)%Z?#N
MU2 ,$K]7Z@9>$.[]W93_>Y<KXU!UIY8TV4"4.J'@5R7>A[=[CWLW?!:E9:[7
MRQ9H3"<(>_"5F3TUUHI1*=?K?QB+CUB.6Q4[XM-2KOJ6D%7]*CL4RD=*CP61
MBUWZ7B@\CG$"O/;25:6-H"GN6:Q<?7832>9D=?5!@9D"J+]_/6NMXYW[">8K
MMD25JA=$U8]OY_>XLXTNU^JZZI)-?=XHI &Q07A\'(F][$.^R%B-:</ ZW?5
M<RV;+/>2IP;#(_)6)8_/@B3>XTD<K)A#J^[Y][VFNE&P;IK<)KW=IIH^;M/A
M?6[38Z=+//9=(4)Z#I>J5FR7BN+MI/;DL!52CBC>GB/'!DF)UE*B+SC63:=:
MM>W=>%(Q6;VZZ>1'BU58IXG:,&YYMQ)+3;JL(V:L+JU?S8N4);_$7#NM8 2/
M/I/T^#DLKTF41/RH 3^N6Z2565Y-UZB_8.$F?'S)FD_XJ+,:$3[FTZ";I"5:
M:XF^_-@P6:7A5)$?6=5B+(T\-O2)/&)P42W\ME.6I,D:>FGQVLABX^>114MN
M*LTH 9,>8DR3-4@P"E(>_73B">"--K'16TN*!F]5LR#PMC)DK()]E!%=0YJK
MFB^%YN;BY3BO.8:WA=(3!VI='.+ ;7,@;8"CMY;HR(&F4ZTT+,NLF*9C[\8C
MRV(V5&J/;7E9OL6,@^L$S"U'<H4?J9T.<9'^CL%S*_3#VROT57+.=-&WVN[8
M(A[</@\VQV#(GCLUFFO7ZK?1CKGA?65 18=60?8X)#HD.B0ZU$1XB [S=$B;
MZ^BM)?K2(3/KK.XTD X9:]18H\<V/$MPL?'U@RG1. W\ZP0LVW>!)98"C,T;
M'O9RLPDQE*@2P M!X\ ZD.+J#,%VJ6Y<B($;P4LA3;C*BC(I%U.H2(G=7QQ/
MOI(N@'!29W4BG,SC)&W[H[>6%! GK9>#DS2M4 /!7H>3ULO"23UB;QJI.T4>
M"16WKSR$BGE4I$V ]-:2NU'Q*4:7K2JS+#FZ7',J]DKX<$%C/3'R ;"ZJE->
M$%6VL'>9UW#T5_#N$'_KQE!\/H*N^V JNHD<59PCUPNLL[,^5),((UD)>=@D
MRM2!,M<M:SX4G5 N5[=L_4>T*4Q)_06Q9R'UB-@SSYZT39'>6J)OF-(V'8M5
MZTA@-F-.Q=SXJ'<K%#TWMR'YSM+FXVIZG$R/@T314;EN^"CP!\N@O+/X:WL&
M'\1TQ_CTJ94[O!]T!\)WL^-XG>9 -BSC_,)H!UZ"0![AMWCS3A"&P0W0ISKU
MA_"\R#@$LP;&>^Y?[0")X_G<,YI1%'1=^;<=_*6'\S9#XXWK=X-P'(2R.$,1
M"M?' H#%X+/?%7)+]A6<PJP^2%-]R5MR;W8\U ;<#]W8%8J%#Z;=(?<',@'0
MR(TB="30EY"555&51;LVZ4K+\'9]F:\-FF63=^T7W$<1*;_DWHU(66<M(E+.
MDS)MV:2WEA20E#<VH)]"X$P_5A[@:O7@%U YPB)! <8\A$L_EI@M(N:7TDL1
M,1,QOYY>CHA99RVB3;)HDRS:)(LVR=JJHUJG+ESK+KR CJJ]*4?U*.'H$,ZT
M<4_5\_R*@_J+8SGV$WNF97)-R375I'<BU_0E]VODFNJL1328DV=DV@],:RWY
M&+@2GDZ#,ELB09GJUDI[2NQ)BTC3&YL@]8:]-5[))*D[9T=!07-[GN&[P&KO
M(J.5A"$NG[@0<)48T7D^)5V!]RV8?I>#Z4(VO8V-.+ZQWAJO;-3QSN'&IVJ"
MA6^!&PLE@&6IKA[ZMMIOC9<>>KDSYO)D/02%6PH0;CD-)D)NIFI1R(5"+L5U
MDRCDHK4>4<@E%W*Q: M-O;7DN?G8!0PL86_+X)\I\FW/VOA&2H_):'4AHCAT
MNS'ELRJ(WBK^PR%6'#'564[7J REI7H-(DO IK. $+!EM&/1GIEZ"\FF:<W:
MV*!5&VI7)KD"M(J23N3V7![BE*<T1A>FB2G]F%"+4$L?,VQ? Y^[G1$PZ5P<
M J:M A-M'Z2WD&P<F#8V>-L*_ CC4,!'[_?/,$VHRXU/G\X)CPB/]#'#]A6/
M\(ADH"#ET4\G?A./;'@Y"B87!$C/"T@VZVTN4R36]#QQ.BYK'KJBG\N%GN8+
M-\9)&"48><)=4'"[;#C=-N?3-]L\['!?1*6SJ2=F1K,KJ<LR3=H_FV"+AOUH
MV(\PK8 "0IB6PS2KJ%I"F/9<F+:Q14,_P;1#U^=^U^7>[V,:3<\G3B-.(TXC
M3BN@@!"GS3G-HG":YE*R<4ZSMA5..\_!&*L;W\KM<JL\QS)F5TRY*)/W@C'.
MI5_';@VS2NRFL_0>)J'O1D/BMV)J+O$;\=OV182R(U-V9,J.3-F1M^DV47A;
M[QY\"V[3EL+;Y#:]?.(IEMM$J69(F,FU*J304&@\>Q$;-0J-:RXEFV:\1FUS
MH?'E!#-+264N1#=(QC)ES'G@N=T9@1G-1:!8-L6R";B*)R $7(O<?L1;6BO)
M,18?" O7N4@TP=3%T5) Z2+QA.&8%8P978A!XBEB:9>^[I&P$)D0F1"9+%KH
M&_=MFBS=C\"/42FUWW./8V+U]E"(.-HAU2A(>4A6MBDK>I1U.R*R3D7:,?R!
M$1*9[>UL#-RB]H3 #2 PF!**H? C))E/040R4YCRD,R0S&Q)9N[7&9G=>QAX
M/1%&Z=8O:59P$IBBE(<$A@1F.P(SN5=?6CP:&H=><*,XYDWZB],@AONFNWTO
M_7RQX'5Q(5*B@I2'E(B4B :,M"X.Z<EV!XP<$@Z-A*,5P.,8YWP@C/Q0T3X.
M%>%H!"G%IL?KNE[2 PQT_=Q.EJS\D_50SUVCBQ,;#V_OO_U0]5O/U%FZ9#KO
MJ@->.WSY#^.?NYT_L\H*Q3@4D:1O;L!]H&7+65>X*@9;MQ&$\#F=F16$,V/L
M<7]GZ6L>AMQ/?Q:*Z\3%39\!U3LBW?AUL<MHBO!N9#1]/P%F7]DLEIFED_+3
M5,JC4]PN?FIMT':KC_GO)(K=_FR=Q%;62&SN0O-&\&C!W=Q;P1[1"]#2Q6SI
M8MZL:MU@>B2_E# ]A$L%;:6]J^L=)X';^\ERQ_F*QMU.T)O!'\-XY/WY7U!+
M P04    " #T9F18'Y;LBA45  "WA0  &0   &EN;V0M,C R,S$R,S%X97@Q
M,&0R,"YH=&WM77MSV[@1_RIH;JYGSU"6_$CBR&ZF/ENY>IHX;JSTIM/I'Q )
M2;B0!(\/R^JG[^X"(,&'[(LOMNRK;N9BF2+!Q6(?OWT /OY3KS>*YSSV1<#^
M-O[PG@7*+R(1Y\Q/!<_AZD+F<S962<)C]D&DJ0Q#]F,J@YE@;'>P\W)G=V]O
M9]#KO3V&L4[-0RH>LOW^07]OL'? !OO#_=WA[AMV^8%M?1Z?;M/-9Q]/Q_^Z
M'.FW7G[^\?WY*7O1Z_=_WC_M]\_&9_J+@YW!+ANG/,YD+E7,PWY_=/&"O9CG
M>3+L]Q>+Q<YB?T>EL_[X4W^>1^%!/U0J$SM!'KQX>XQ7X%_!@[?'D<@Y\^<\
MS43^EQ>?Q^]ZAW!'+O-0O#WNVY_ZWHD*EF^/ WG-LGP9BK^\B'@ZDW$O5\EP
M?Y#D1_!D'[YNW'/36\@@GP]W!X/OCQ(>!#*>]4(QS8<O=PX/JTNIG,W+:TI/
M;9B*D.?R6N#8M[S9>0/<F-C;IBK.>U,>R7 Y_&$L(Y&Q"[%@GU3$XQ\\?05^
M9B*5TQ^.Z.Y,_E? 0#"F?L?03 R_M,->RTQ.9"CSY7 N@T#$<,.?OSO<&^P?
M'??Q1N!#TL$+/Q0\'4Y4/C]JLJ5KOM]F&KFXR7L\E#,8'#GLS(OA_[M[^@.^
M<5)[XT+0BDQ4&,"7HYLY3#I'\=X;'/<G>HZ/3N.%BGNC* G54@AV)E/AYRIE
M[U0:/0P]/JB]2!O"<!N?SB\N/IZ=C$_8^<7I#@-=WV6C?WP^'_^+G7[\<#FZ
MN#H9GW^\8)?O3RX>CHLMJK]JJ3^-KL:?SD_'HS-V-?YX^G?V^>)\S$Y^^C0:
M?1A=C!^.[%^*+)?3I;XD8]"L?+C_*KE-'L9SF;$["&9;^5PPU-"]P=%Q8:FF
MMP3"5RE'W>OY*E3I\+L!_7?4_#:4L1@60%.*GUI?TYC#3(42.7@R2X5 CW'<
M+\@T[.T>;7LL(#_ ,Z:F[-]__N[-J]=OCO[S^-2= 1E(PD_@0AH4 C,#$8(!
M2H'0R9*=Q[$"JCE\\'<\H'+WU>#HT0D^51%XVJ5+*LO5.EEXR=-<^C)I,'!G
M7>K\&'/^-#H]'Y^\O\()/R']%W4A-2;WUP+<,T/!$7%&LV&7(8\]U#X.FAF
M?#^^U  %-2%.4G4M V#7%)P84C-#E43=3$66I])'>Y'ERO_"BECF&9,QXSZ,
M'B ZU3 4'P/IB&!><<!\%0<$)<C(X'?XTAVCN<@MX$DD\QS<YYRCMOL2>0'J
M%/$O,!+:T[NH0![&0$M0^&3E2O(=M< 187J1R@5]-8&AX!&@%#Z4Q!G-)M)Q
M9'K+'-R02#.7:'?@.0P!IHG[7V*U" 6 [HS& BP@9$)T Z95R=+E +T!?U'3
M*0S$0WT5*,P2P!!%YC'!_3D^LIA+^##GUTBTB.TB!9;=P*#2OEL:+WDB4GRI
M%-E7O9;Q5#!^S67()Z% DPLKF',_!TA,#_XD8I'"<Z>JB#,1MAB7@\#O]O9?
M[_8.![NO&2P$YT!=EOU5&K78\554\=*E'LU]Q /!DB+-"K-H-=+AAJR8_ *D
MHNCA"L%C@+I M^!6#F$/3Y)0^D0\,2I;)7NG/)$YZ/E_4=I(7HL,/N)J2OVR
M6,'BP6/I0F8")',*&H5<A[?0:N"(D> QL ;($B1VL"+P=/FN)V.7WI%&U)@-
M#)L(=@U#!EY+6R)X!4AP7J1Q37J;(YQ$2[J0@<!>_?.2^-80$:_IM44$XM4M
M%@_+KUL<EAM/!3)+0KX<RAAM:&\2@@UPA\-@L<;[*N2C56@,][MFH7\EJQU#
M4,'#(Q<@FTLOWN[NE)&>_O$8[N,G:Y:OR!9_1EN,[L1JV)715*/$G4ZAH38U
M\2*%KY3)JQD:8W7)-60M\:V@6+?+\$HS8HBSMS6(FHA0+9J$/+ZC;C"XA'>&
MT2/T%-4],)D$YB,L8RB&+4U@W262DP);QEDV1],/=X$>1@!/-+<:YGUK#3!;
MSZP1%TQI419SH9<%O9><2E&3+9Q/),A37 E:6K:O5]2CIY5^UO48?$F2AX%1
M733M "_U !M#=4]#M;<.0^6HQ@F@U4('2:69JI2KTAPV7R;H^T%7P).1;A"*
MJ,FD5\($ $A%[3[2G@;,I0?A%L /8&U X&0VIQ' 'P+&0M3A:C'7I.H0@4V4
M^O)%B 1QF/D&!5@3C0@<;%H7[,7Q]3OU;2C,60'VP@Z"#\1%- &\6#?EVK9J
M+-X8U4[L0JUBC7DG  R9947G((@5R2^ 7#G!AL& 7@E5W4?TJ,CQB;FCND*8
M# DP-HO,7H8(-$GEM0S%C.CTT-95L+YIX0A4PXP2XQRJ&5D)02Z*TB&T%VQ5
MG-!!J8T_*(Z"WZ<%FJ74FC,?EAZL4"LZ ;^7"I[!\EM,QA<\I2>[2:KD#0CO
MD))O:<Y^M^UZ,K9J?QVVZI^P5*#C9*">3/3PW+W.%M^N+^6XIB99::T ^T!(
M!$M@PVO'$F!EQ&JB^ZR!$8+#\FI[LB6WX:I@2[C&IJF*6"W%B7JZ)>$>?"PP
MW]@8"3'.[NNCS(&P)W&,SN6#$!2%6RMMTA*/CT:-B-*DZK"L3$WD<V/<70.(
MF009%Y@>H=!3Z+H))G8];:;I:0!>Z;7TP2>H.N0G3N*%.C?!OD$XB===PG;8
MA<IQ"<'RQ8'-7H#M$S,%OQ&$;.%AB%!D# ]G)0U!@71 \,]!&(#&,YEQ76O#
MWQ"&LM,YCV?@Y^*ZNEHUB4$2CDA3YEHJ;R_FW5<=<*AO4@BD2B9\SE7TY(N9
M^M]Y:A^></_++ 6/%S3DW9EA_0NS)F#JZFO4Q0ASR:D5FRMNJ;A9"D[X#&PD
MN.LO/3X% 1OR<,&7F>'JX>'.WL'W1Q.$%*FIP Y:Q>5-R?JIE*SO#M!.X=E4
MA4SY?@'&>3$'X-DR-(#8M+%#NV1,368ALC%WWDJ'4W-6,HI$(,%FA4OCN#:P
MX9O!ADD';+@V3N:6A6%^$15:"CTV*5SH+VY\ 1YOQ=)NT@KW7*F#=4#UL8$+
M4@=B*[*@(UAQX#-WTXJZR-")07P([.Z/D+#<$I?1X40@WJ&R2(>THB![='L1
M&\C;%F9>@/OCE 4! U,")"?TGA"JF@I9]1*XN+8QOQ+>YG7FZ9E2\@WC7ST_
M)\U@,W/E.ZE.U!6L=TY&X]&*>BPT9GXJ)S:0!XML4WP'&RV\IQ:^7(<67AK)
M:"2O4$#'_(;]#"*"D=(FIG[HF/J\D9-OVQK75&E%IN1@5VX0P^>R(E'/+**1
MH]IX2\^KZG<I$LWT'1D"?+##DH AV!^ X5J"]"!4;\>4&^%Y*&1U@CYJ N3R
M6K.(77DR!LWZ8+F"S5J>2?PV.A-6U.CQJ84Q$HQ'F"[%+.^OA4QUVGJBI6,N
MPJ!TL#F_$9DN0Y75H]OSOA-1&]1Z<IN,34J1U2YY*@*LH7NP*"!X'H,UY2&Z
M1FI(T.]ON;_'19/_3^+J=P0"E;@V18T21M2UV%D4X6&F.L2VK%QJ(X6RE6MA
MLP62JE5*#Q0(#6F$;88!UOJIJ,; AT))!LP#09G!Q]10G+)?"^#W%&37G8(I
MYQ2)TA6)3$ 8"U3!-0A==*8+GM7Z2#?D!/12*[$LY O/5B)@2IF!=* G(/(\
MM$9YIH ],<H\Q]+4#.,EE2X9=O5C?!P+"(DSGE*>#<":3*E"2[6PBE.H+IB'
MB_%:;  <JH5V-NA>J#,-*W(T,\^=9<27II9DJU0PT (,@3"#)J#&,-<0*-%%
MLTYF>G56>IW3UBM6=7&)Z5105P+J] 2K?UB: =-F&>04LG6%$<,(XD&5)]#2
MX!J>KAE3L1P"B XW6V^T:O9B.0)*%K0JE&O[0T5TLD>PZ%1I,POIFG T1>2E
M*:^J4CL_8]BB(B9B;$I5CT=5*UA[X!<ZWU] !K- MV?@H*E0TPU*OZ<Q>[4.
ME XAG%.T8)_(11^Q,XE>$,0(&V1!3;!GQ0V>+R"LG(M6O=(#E=#F)Q$I1KK8
M!9B'VK7:EA;K4HVO%]<&$JZ*2"G'[[F*VBXFH\37JLF-8G+3(Z]L')"Q'Q:4
M_KM6.IT$5LXR0[_,,Y4-7P"M9%Q,8ZX9M+(EQGB1T4XZPZ%5V*31M HN(U9,
MA,:0:BMOXF(]P.$^0#?]L71Z 9H=IVFTR80..NZHS=2='9IIW1O08<&Z),B6
MY*PS(QE=VO>XX0"L);HJU8+ZGFF[K5)Z -RDTPW1461?U7Y!':,3%$@9Z'7&
M7K-)D6N'TVZ@;G7!/5(_Z1_7YKU>7W^DTP5)X<9EV97L&KIQU>=^6Q.TYW12
MEJWA&"6#/5%I@G14/<S4)C*%SR!:GFUBU)U I)M.PIH:41* CJM$LMVWKXDE
M@UB9G*9^(6D-F-O=E:W%7%6$:!#AU1 %WF,QK[D$* GL8VQUFX:J-;M0S1A$
MZ$$Z7!ZDK/4H!=B5NWGV#HSV#TKEW]M47#<5UZ=;<46[@A$RF+LZ;EAAR+H-
MD /)=,T.@ZY01L;G>^YC #HQ8".CH]@6WW;AH9O%:B*A196,MBDD@%.F 7UE
M0(F8P02>C3"]C2NW_&VFPW3:G.7;32Z=>0HD=RO8-C&724]%&D&YF2T,[[JW
M;#E@F5JIBWRN4JEWXY2FW/;\P_0*T89@#3=7.K=J9>QN+-P<IE>@@F4*5RVC
M%O;,!JJ_%HCD= LX/ !L0X](;GN#H.Z)H [7%36:4B?HP$<24QTZUK&3LU&Q
MNR:/R@RB F!(1TEMF+XTVR1TPA<!"&5D)DN3"B*ML[2TU:AZ#8D]HB[;U O.
MIS(^M;T83KZPJDVN"D_MRYVDX$:8[RG,;]8AS"=9!NPH8SHZ, 7D9$6S0#L$
MKK8B)B@LS>2=&R X[JBUQ=45^\ZRBI,5!=(#W'^ A OX!)$$[10P:<N2H-S,
M!;\0- 6O,^UBVBA;A'BH9Q0FP[#&C^N4XI0*]99G9>0,W+4L.V^\1^]"S44$
M?#1#-?8\@5B*F&)\/3/P[90!\>RF#Y^^K,T0A5QEHLO"V)X+TNS2T7B&$;B6
M95OLU-H2E^&>8V%JW K%]=*.#C/B_ES?+FZ$7UA@D %$"3FUAF#"O#)OU?:'
M2@3,ICEM"5,1U$NRN/!U.^1.<T)2H;M.VNMGLQ3-$CR%FYJ2DC7&6%(>E\@U
MK6QQ@<41>.A:R< U[K7DF\J%WUDC;(X/RBAT4$GIYL)'_JA4+Q@M?.>V[WH7
M7FE^$P!<L=DXF,E  K) ^$9SG$X!6&-Z;L6V9F3L1)1ZY"#5<LN)*EK]TN6K
M33EA8^WONSEVL!9S7\'G]WS1Q"NT[1J LF>!L:^!?SW_0>*E*T4=VZ]+$*QK
M:5JP7*R],I=C;:O66-.I=09AW *DW"L%<B:I^F((J,J44YB8=B@TD!,9;6HS
MOU-4U[*1^X+LNBNB)W'3VEMCU>G+),E;72AY$.#^?M&TJ#HL34M7VCQ0PI2M
MRW0FP]/>(!Y.<]SL4C?8QOZVB.ULOZ@11-7<CLV(?I&FA#;TS?"T6L2VGF V
M6C:(Z.!9^<[:X45SKG?W 8H*56:T$QF:8'D" #['"I:(KT4(EQQZL74EUV<U
M313V%.MD 8VK<Z*4BT%_#A]R/L,DA\!R@V?> 5?UD1_")%3QA7;;:>61ZK7:
M2QPK=",PN(V*0ZF*I<_H& ?@92AF/-R<X_!-]'\M^Z.M9E["[S[ FJ:SJND)
MNA]=*^PX1.&V#)+7!(@5:BQ#[_(X JR""KTG.EXVNFA\5:I4$TEWM80U6A=\
M( 6SUKI=P5=%0G8K,7/W3-LAA#24IK/7G6:'\A(53 VXDQ$$$3A2I4T_*K,I
M%[XC?3==,Q4M::%;3:HB1U6P8":ON=&E^^K26O;O&MA7;@JP3>6#-R?,J9BW
M:G^UQAM$@7%0MA]"P(?1+(G&J@'+6+[<"PJN*\U[&-#AV440[_'0[-0TH:D%
MF$9[*5[*;V\#6O5V\#.Y#N";)49RO!!26G_5@4C=07]C@X!LA^$$>F5>Y"4#
M]*SI3)#JV#7+@EIO0YN;7?%L?7LP9?U$3ETG73G%NW<Z>&7E](Y&SDWM\MZU
MR_U-[7)3NWRZM4LW4.!+$U5Q3/!*%5 /I[QA$;Q@[NY)^+K]5!V;S+!=JW03
MY=%)9K>9L":2=DGI0^]^@[64TZK!W<U,KWJHS-].JTZ]S/*AA14=9&=LKNX\
MD8'=N@'_I/F2;>T/MIM[. *=S^3:FP%'MUYM6ZY.51BJ1=D_\C6<;6PWN;,?
M7V?QXW!9-H-1< 9"%5,S=6#;KDT:6*?Y#:!<[7DI1X3[82P;*R30R<#<G/].
MK=09A(D499N'.S YWI2:<R0QT(=A-&*VT_Z:]W6.VB2BS*.R\Y@:$J^KS$(K
M\QS0H=NAJ=/9WSSJ&9^5F6P?.P,#GNHS.50I<UU'-.$R5:WND0I AYNEZ1I&
M^HT)7)VN1YH*K [64\]E+W_FV6[^#!O1JY9^3XLP92X:Y%G 6>N;1U,"BHBA
M1V;.=0-H6L$NS$00L*S"CHX8;J7.EUM-G8YOV[X]*Z3&=_;PIX>NO]]](G$K
M^M"PG;HC_%H 84X=__=5N527F%%Y1X8B^X_K<9Z%XWMRF.Q@@\DVF&S=F.PK
M=J^=7["?S\<7HZLK]O/?1I]&']\UCB(%S^9S.CV8NI0*<$:F$PH/%]9Y5^HR
MUY5;T4I;=1UUAZ.:^X/6 [HD8[J>C%6NG8JD[2PQ7V\:LOJEY114*.1))H;V
M@\LQY(;1(EPB/+8)7EI3'CP6H*X[=*4FV5IW7+FFI4!J>@#RP&'JAURY9;1(
M("5D0_!/OY26P5"TJT4Q#TI!Q.T1X-[-^FIU-X,>O/G>%6%#C15G1RJ=P3&Y
M. 5+;\7:_MY;I#P9:CNP "[>J9_&\-"+[:U\ DX=5O0I*ZOY-P]NX3(8'3.%
MO35RN,U6-(9/W!;^%O9NA/@;<KF?IVA'O@V[G\HDOX5V/HNYK'=M:G\]J:)V
M(U+/>2ZMM3&@R-BZW>2&436'V1#C><QW(Y3/>2ZKA!(1S9HE\H)'8KB1LS^H
MG#WJ?,:X2[\I2WV*"2UF>R)<7$,QZ+SZ4U+4.4X[JO3![O6SS=IGUS5R">>Z
M3<>T#TPPG6:;4EK;JTSRH>NO2%4$Z=$P_:S/G;'[L#IVY%;-<6;OPEU5D>H8
M01A#-X!/)%7]-TF,3?RW26(\5_9NA'B3Q-B KN>\-O<0NC]&*/W_*91_C+6[
MO] ^@5!;_TF5C1@^C=6H_57MIQ^R/K,VD)>/V@;R>WL^<$_R72T??3R\%'[,
M\RA\^S]02P,$%     @ ]&9D6'_:'<Y1!   ^S,  !8   !I;F]D+3(P,C,Q
M,C,Q>&5X,C$N:'1M[5MK;]LV%/TKG(LL&U")LN5FKNP:6!P/#9ID1NQ@V$=*
MI"TN%"E0E!WOU^_JY5K9@J5H&S\B Y'BRX?NN>?RF+3)P0^6-98AD0&CZ./L
M^@I1%:01DP8%FA$#UA4W(9JI."8273.MN1#H7'.Z8 BU'?N=W>YT;,>RA@/H
M:U0V4M)#+N[BCM/I(L?UW+;7?H\FU^BGN]GHY[SRQ>^CV9^3<?'4R=WYU>4(
MM2R,_W!'&%_,+HJ"KNVTT4P3F7##E20"X_%-"[5"8V(/X]5J9:]<6^D%GMWB
MT$2BBX52";.IH:WA(+/ E1$Z'$3,$!2$1"?,?&C=S7ZS>E##<"/8<("K>U'7
M5W0]'%"^1(E9"_:A%1&]X-(R*O9<)S9]:(FA^%&=!VO%J0F]MN.<]&-"*9<+
M2["Y\=[9O=YGD^:+<&-3!31/,T$,7[*L[ZU> \&(]GQEPO[C!_Q7R[AJ-U?2
M6',2<;'V3F<\8@FZ82MTJR(B3]\6%K@G3//Y:3^OG?"_&70-\ Q[,!81? &=
M9[[V"_Q>"=VO/:1HUH:B_.V*Y>A\)2C4'3^$W.<&==H#[$/0XN_@8@#YRO0C
M'[/J3[BYY GX)+A9>R&GE$FH_^.;7L=Q^P.<U7U)/[\@EE/HA,]Y0 #9-/43
M3CG1G"7?.++/BF/G^7',QXDAOF!5/[[2E&DK4$*0.&%>]<^V)V?P@+" G^5]
M "40OM*Y8E"1U*C*4 RIW%(;>!F*^K#++%NCJ(5R<F"@Y>QDDJ#ACU:^+IDV
M$')1<@@#T:BH[, ] _4[V0Y8^:@J>"]"R':2/),2;.@S,(;<,"N)2< \J5::
MQ%7<[/?MET;M/PDY ]@^<_K_OF[&Q=?!=1W;<7?)\K&2^C1OWX"S[X_ERY2]
MGK(W)&(%V%2"%-8S%><*U*C0WB7L'J!^(3'ZFMR>&E@#%,FM='DWX>,D;W@_
M*D$#QX.P(#NIIJ;K1M::]#X:6?LKU3RA/,B6W*6JS1M).V))@R4G30.3')Z*
M_=_,$ZGYYR\0UDT2'[=P<1DH'2M-,N5JR#YBQ?+3A$N6'*!B[9[;UYK1>R%?
MNP_$:Z7_B+C?3YVK_1KQB]VI(L(EH#&>59AJ(;F44E%B"+J4,$%#$\V7Q#!T
MQ2.@D1Y!LK\B:<LI;"@[&#F:PO+HF"7E$P1<L&SWQI3I)0]8\A9D)K";%#TD
M59F$@#..L\E^0URC+;O5EE\7.7=H<HNF2J39MPP)&A%)*$%7AC;2<E#24A#7
M<-:HRFY593R=HFLBTSD)3*JA,1HINYFJ')R>-%.51E3V1E0VRZ!SI>[1!4^,
MYGX^8]DLAYHIR\%)S$<%GPZ?X-+0=L@"@_,]XM7!BGT)=.Y,<0UUU=@GP?U"
MJU32;!.[TMX;)W_UMTYKU O*K>R9(@GX++3*]TYM0WMQ(J2VH[UFVAP_B<F"
M6;YFY-XB<XBM1Y:*TY+=7L_N=$_ZY2;[PN9D\'%QK"4_)S/\!U!+ P04
M" #T9F180+!N#W\#  !."@  %@   &EN;V0M,C R,S$R,S%X97@R,RYH=&W=
M5FV/XC80_BM33M>]E4CB)+"%P"'M0KBB+B]BLSKUHQ,[B7N.'3EF6?KKZR2P
MA;U6/54K]50^...9QS//3/!DQC]85BAR+!)*X.=H>0]$)KN""@V)HE@;[9[I
M'")9EEC DBK%.(<[Q4A& 5QD]VW7\VQD69.Q\34]'I(B -_I.1[R>H#\P'<#
M=PB;)7QXC*;7#7BVGD:_;L(VZN;Q[GXQA8[E.)_]J>/,HEEKZ-G(A4AA43'-
MI,#<<<)5!SJYUF7@./O]WM[[ME29$VV=7!>\YW I*VH333J3<:TQ*\5D,BZH
MQI#D6%54?^P\1G-K8!"::4XG8^?T;+&Q)(?)F+ GJ/2!TX^= JN,"4O+,O!1
MJ4?FI&/,KS#/UIX1G0<N0N]')2:$B<SB--5!WQX,_E0IEN4O.MFF%BC*L69/
MM/9]YC7A%*L@ECH?O0[P5R?+T[E4"FVEN&#\$%Q%K* 5K.@>MK+ XJK;:LRS
MHHJE5Z,&7;'?J7%MTM/T65N8L\PXK[F.VOR#8^KQ19#VF&M,S79/F^QBR8G!
MAL\YBYD&SQ\[L2E:^584+QG5QK\A]<0JPX S?0AR1@@5!O_CNX&'_-'8J;%O
MR>JL<(FY153]^\I-UZN'<!7!>@Z+U2S<A&8QVVWX:?$0A=MP=KHUM]/I^G$5
M+5:?8+[8+M^XSO^4T7=8^=]VE6;IX=N)=B:?*>14T?@ B115W?^T!)U38"*1
MJI0*US<-C%W1U !-PS2F!J%HQBI]!%3:]+^Z?U:F!\)<J@(>K %\F#-.824K
M&WS?M]RAC_INMY$]Y-[TAT?9[;L^.LK]GUS/Z+$@[?ZF?X,&U\W^V\+ZK\,.
MW9O>\,5AW^TA= TR!;E3QIU)4G>!-/U[B5620Z\+30-O^XO(3C6I2R0Y:Z$I
M$^;SP3"_()'"0@AI$-@(B0VXT<UH0HN8*O#=QK7?D#&"U^:92M4$.)B65]62
M "H()=WZ-?"=D=JBLPINA=B9F-N&]DO2+K)^^3KXN=O6X==,[+?_1_X?[XE3
M.7 W6]<=:7$+]_>;_[!LG<ER5\28=<U;)@Q_;Z6ZN$/GY-K!H5US=3H?X^1+
MIN1.$"N17*K@'6I^H[,!X-*0MY\+ST3C3%#KN$='DN>#QU%S/G>\GFA*G%$K
M-O/;%PNGILT'^$DR,FKGC<' ]GKO1[%4A*KC#(*:(:B=E)K1:_('4$L#!!0
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
M=I^/2\J84+-(\LPE!YW1Z*+)B%G>M.DPM<1P29V8<]2]IC65G)IDJET^OCS
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
M$V6BD%%%4<9MJ2K)UT(U8=R$4Z)P+H$C%T9EP03E#.G&U2R'8<;H#$Z8P)Z
MH>:3V8PE5#4!'\;(32@6JEP0-*66\!GV+_>"PS=="WJC!TEE81J!;>:*Q80U
MRFBU(VI*!"V=R0VG*Q@DUL(FK)LX3NPDPS>EI1W)5_!)R"5::$ZCQX^HQXYS
M3:8<A9<JI>I=PV^@"3FO6X#->UF0I'['&0H_Z7K7NM2;0*YGK67S=+K->&U<
MDQ!>P\'" #N5[C)CFCIF!QJAW11!TA?7?$P;.MBN:)E'6Q33.7T!MM^L+>ZV
M5>_H_M-H80*Y3B.S!><K3#=YP0VR-VA7],\%4]2TWZ6)][+.1D%KGV ^41 <
M[*>O-^CYG!LV>:&&4/"VU>Z:C''/<)X),<]&YF,9ZU:?:R-K.P\[=Q(QK#^6
M_G6CU4:W"_O/N/M7$?NM\ QW#V3?@R@FL++FQ,($Z[<F6,Y2I,(VW A3B+="
MT=(@JVF&"9YB<1H*AC4.!PJ$6MFTLV:;VH<+IO:$98LO<BUX!4Q94&7W+-=@
MK(O_?2,^ > > %/XYJG 9 ^Y%:+J=2M@.8GDG!0EC=9_;(MYB!MDU3G0'%J-
M9]#TMV0@"RW7A.H\;"D54 Y]M]-^T6V 118>@FTG>@^I=P$HUT [>.,>X/RM
MBOZ$(?QX'<,W\LM&O7;HM@]>=&M/U @*BALH)6<I[/GV9W?4;_2]TGNH[WP8
M+L].ON]DDQ1WVL//WOTGWMT9]<P)^*LGP&=G_CS._!'UGMVXLVZT237)H&W_
M/]3^>F]974<\M83?:W$K3/7,U*9S),FGN9(+D9KN4:IH7<:V[CAN#]0]9(B"
M<"PI3OWNW^HDJWN46ZWD+=+FTJ8@<^I,%26?'#+#9!>1:\G2VOF=CANV-^6V
MHOGVT%==!MG;I?[?4$L#!!0    ( /1F9%A>Q9[D%!<   ^7   8    :6YO
M9"TR,#(S,3(S,7AE>#DW9#$N:'1M[5U[<]LVMO\JO.GLUIG1RX^VJ>5F)K7=
M>SV3.)G$V9W]$R(A"1N*8 '2LOKI[WD )$A1LITF3IRH,ZDE$03Q.K_S/CSY
MGW[_/)N++)9)]']7KUY&B8[+A<R**#92%/#K4A7SZ$KGN<BB5](8E:;1[T8E
M,QE%^Z/!3X/]@X/!J-]_?@)]G;J;='8<'0Z/A@>C@Z-H='A\N']\=!"]>17M
MO;\Z?4J-SUZ?7OWGS3D_]<W[WU]>G$9/^L/AOP]/A\.SJS.^<#08[4=71F16
M%4IG(AT.SR^?1$_F19$?#X?+Y7*P/!QH,QM>O1W.BT5Z-$RUMG*0%,F3YR?X
M"_Q?BN3YR4(6(HKGPEA9_/;D_=4?_6?0HE!%*I^?#/U?;CO1R>KY2:*N(UNL
M4OG;DX4P,Y7U"YT?'X[R8@QW#N%RJ\U-?ZF28GZ\/QK]8YR+)%'9K)_*:7'\
MT^#9L_HGHV;SZC?-4SLV,A6%NI;8]Y8G!T^ AKEO-M59T9^*A4I7QS]>J86T
MT:5<1F_U0F0_]O@7^&NE4=,?Q]3:JK\D= 1]\C..W<3PHN_V6EDU4:DJ5L=S
ME20R@P;__.'9P>AP?#+$AK .><=:Q*D4YGBBB_FXO2Q=\_TTTRCD3=$7J9I!
MY[C"P;PB_+=_P!_PB9/&$Y>2=F2BTP0NGM_,8=)%].LO@_V3X82G^,F'& .5
M2=-:^VW#NKB\?'WVXNI%='%Y.GC <=UK[4Y?OWIS?OGNQ=7%Z\OH[?GIZ_=O
M7IU?7D5O7@.!_Z<:=2$FJ8PFVB32_/9D]"2*99HZ\JB^VUS$[CO<8>!?XI_L
M#M0S&)"[RZ_@L$C"AM?2%"H6J9L<S1-H:;R<JT+V\0GR.--+(_+QYCX_)97U
M@2@*O3C&!1T'Q'V7 U#O>FN67^=XWY0F1RQNCGJ(.SFD _#I\:L^JX<_TP"O
MYC+Z70L#/&D:G2DCXT(;&^TAB!V,QB>E'P"=C$3&V@B$IWZL4VV.?QC1?^/V
MU51E\KC,X/3BI[7+U.>QU:G"=:#GGPQ+0LZ#_?%3',M%ENE$ $NZR.)!M%?
M.!]R3*=Z 1Q]U1C51%C@W66NLPB' VNE%R +)'0_CED5-L(;96;Y-_BR4$4A
MY1>9 #\ZG$(OF@L;B43G*(44<]4:[UOHK<Q)OGD#_<0K'#<T>LB!\X-QU U.
M&P)2;F2?(.E)O3D*=@#1,BITI!9Y*FD6(@+Z@ W29A7%J5A.1/PARGEJBK=1
M7F-#V#T!T[<%R&=T)UR%[<U3A<(?2WG8^D4./\6$SF_+5-I!%+W(H&^1JP(@
M]"]<5FD6-BKAK/2B25E$F8;>X* D"OI.5U$BI[ *<)$& *OKEGHNKB4]8R%%
M!FAE(Y#$HJDV\&AHZN6)A]B#=P #\.L_?]C_>33^U\7%!6['8,>9/IHS/3;6
M]")9J$S9@D_'%^90-8G8N0#U:B(!PGA\T@#!359$-A7B]2(X(_'<M5Z(#] >
M/B02*5-E-"7+)&VDS>&L(VB$I CDAE@.Y""C1%G0]?"><72B&K-EHB'"CV&D
MN='7*I' RM2=L L>*8K&<ZOY*90QH2G"- R&8"P#<(MAY#AMZ+N")"/_+(%Q
M(VI9Q+$-,'6I"[P%$"[# T?- %SD3,.W7F3+R7^KE5COH$>_LJ2P$*M(6 MZ
M< 0L$F"7EC?72PF2 _0>B;*8:P-*D1].S0>WK#H!(N]<#)P66DUA>P%]K1]4
MW4VU4(F$B2<$^EF<EHFLQ]F+D-=5\QB$"MD.Q3X*Q1X;C*$\ SL YS!KLO<O
MBFAWP8:+4#AQ.$$$@%)I!#3CJ)Z./MR7"R.;4^PU[F"",5)8G<$T5W /7"G@
M@^$UBJ;P U!O='XCXQ(-#]'KZ53%*%%!/V*A2R<F06_2&)U)75JX7RR!UF <
M(*?#4^&^_N\D)S<$2YH!C!HV1$(3PFQ; J6O/RTIC8>G:OO>P!+K!$#LJC&4
M<!A5SUO'L50,&[2V-P M%6)NO2T<-C9>'_7><B[ABB&Y4=@YHB*L.2"=UQN<
MUE"-.2+MQ@FA@)9P6D0:@6@( J>"3]5&PA"OW2YL'637$."C'P5MP5*7:<*2
MYD3*NTQL+A+>J:W/ILX:\S1\$A/\4*8%,!"$?@WR<(#^>)8*<1.!E$U6- 4D
M!CA>&CS8,/Q<J,U#:P#Z9R?:&DHVDT <+@G)VDVIPI(ND$AHE)#2D0'5B9*F
MN@ Q0V=)"0L#$\8GK.\%Z20@!\3N+ ,K;:/:0RS%O]U&I@JX<8<H 1]O.2WA
M07$(A8K<_B]C$+H*C3J:@1GCNA2Z0&+ 0SP'4(=5 *FH-!D*>2 >M,#IUEUQ
M>Q!(.PL!7<#_D$LC&(HT+E-NG) ]!+HB;,0GJ0PFMW!=90ZD LC=4T]9:0J&
M5<DJ6Z==03- A"T4/$-Z:)+3*8[5?0N55-?7'9>,31<L8=V*)DL1H#4*=7LJ
MG%N3KRP$"*SPKW*/5"81;-L0O/E'471.&)_CI&@&G>J*DP#?RAEN#IJH1, #
M'42L2;T/0P_ JU'Z84:GV]2@UCAY)Y.="I62H(N\G(1J(]5B4AHK;S_5GKT&
MQ]JQ]54E!CC)&85WMVX;N+T.GAQN-9(U_B4)'S9=WN  I VEB@J\]U@<1W1(
MY0P9FR16N&IT"6OCQHD-[P^I.Y/$QPOS_WIDLOPI'A,Q8Y!PE/[%C1-W$>5#
M P:==<OZ,GP@.\0<Y"#3(=] LX(E)!C=%K&8")-1?2NB!^+W8'M+!G7DDQ/I
M"10MWVL2C4,[H ,$MU"8Q''S#*$/1$/F! 3E\,%=@O4F]F([H0CD_7?EQ )8
MD<-]+K(9R8>=C2M&*A=YJE?$'I%1EK87U5B$AASC>*>)6FRIOK,'C(SF+YCU
M=C)L/)P!TFY?TAS@M!19V^;Q6678S^*L#JGXLSG<-[I;#XX<$8XJ=^M^,&C^
M_]SX0:"Y?V9 "DM:UO%@2LT+<\8<A">TD_?=]U'7S-U/00"#^R6,7VC')^0
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
M2.F[)&1L>!?*%AGC@6(SOX\HPL-=%.$NBO!!HPB_0=[PE84&/"1O"*6@=<Y
M-J1:E6J(3%2*XO H+$6Q$TH>MW?\80]>RS6P?OI<0H0KG]AT9&$)9-7M*\B-
MM"HA/X>S9C9>DJ&])Z*^Z+*V."?%O9P#K053%O[Y#0"^E$.[*7M[*#U,IZDT
M3]F7>(U&U6HH[>&CEV8.RR]9<JJ',BDMUJY#(XW"FL+*6UX-.MU9B=GCD5A*
MKL5 M,:;M\@EQM.53T._II\:+ETN#08@H.S'CKF^*T[F']+R*KKBRXU;O=O-
M JE1P 2FAG5V9LDZU0B#:^;OL+2X_TMT^L?;"'V.OXP/#GX=8)V<R2Y4])''
M"#PDJFRI0-MA%:C\\G<QX"Y<-^Z%#$:&!YC?0B$ME[K;X)D)L*-VL]!;'_$.
M?B.3<@7;VZ#6]9*?VKK0-38NL0L4BX%Z[*-&#PJ;8@E!_%VN8%_78X/7A(3%
M^3:^+J294-MTKK_P1:JV;)+?GPR+,+IJ\O6ZXDKZ.@"=+STR#4>-<"&S]0Z\
M.S_=N6R^":_P0X+*-C/(/5\ZZRTN& O85:C;%9'N45:T*RS-=7Z\SVB=H"LO
MTCW*<5.LRQ;C3J*E=2%21$\]S,!&F8>D >;_K:"8GH]L"BL/X=@C2G>W\"08
M-PV6WI(KJYB3" &#,]^#$!,N^5W7P'*OAZ 2X0BK535@!J:)SDK;>#;!8/4F
M3E=IJZJ0ZDRI*(#.M$@)//A#F9'2S)GHVQC*#DJ^">_O0T()NP6Z%6V^%KTC
MEOM*F ^RB%Z^/-V)O_<\7O/O]WCY=P.$!XQD.?A[VWL%W&MQW7!]3[X7K\#E
MI<FUE>TXG$VQB<W7-[@7$M6OD]OVPHCU'*JM,R#DQWDP%R0>>HV1.RR&YF+E
MPT>)Q][I'9XZCDLL+UW%+&  AG\9'<]I1YWWI$[U75-G^!*N;BY0S(V47D+"
M\&*FH!4(A#92"RJ24DC*: (23;R^Z"OFU+1UOQ?_\GW4BS.KP0-3Q8:WQBLJ
MJQ=R^3=F4TH8%PAQ1.6N.,BH+'B5"<JVS6%5792D"O$-"J<B#?-KQ/UWEDW]
MM#!6G,54V^.\ERKMR\[KM]?Z1DFOT]-^ZR(U8^)%$,"$2U":HN>K'NNPT!T%
M&::-.4YTLG+O+6B8,#<^>H<R]T29_W[/*.-3G]< IO5Z^YZWB9 "Q>+G[J3=
M\Z1]^)Y/6@507;SLCA";A791$\!M4DJNM(=O\S4H)&: X,@8E7^E5\,C1*DN
M],HP+U2:2J@,DX;KT)0@2A2CYMO)^=5P-PP0@^>UH;?/P"PP1],X0ZXOD:NL
M+8F'=Q@K]]33RNQ3S=!)NG?KHN<Y4A2\J)U?T,;FSZK;!?12#=M)Q#S>)?JW
MW"QDE6+D\U2=W*Z1BTUQY6YIN4./>Z)'^OVB!_"=;@F8(KF#J -D3E7D <7$
M6[LE%?^1!7 =/6@ U]^-UL+W*=X6K#5$\1;^S(M%^OS_ 5!+ 0(4 Q0    (
M /1F9%@?TJKQZA<  "4' 0 1              "  0    !I;F]D+3(P,C,Q
M,C,Q+GAS9%!+ 0(4 Q0    ( /1F9%@<#'$,O1@  +QG 0 5
M  "  1D8  !I;F]D+3(P,C,Q,C,Q7V-A;"YX;6Q02P$"% ,4    " #T9F18
MT*&2P9LX   JQ , %0              @ $),0  :6YO9"TR,#(S,3(S,5]D
M968N>&UL4$L! A0#%     @ ]&9D6/-U$-/DD0  X'<( !4
M ( !UVD  &EN;V0M,C R,S$R,S%?;&%B+GAM;%!+ 0(4 Q0    ( /1F9%BW
M)V=-"&4  (9.!P 5              "  >[[  !I;F]D+3(P,C,Q,C,Q7W!R
M92YX;6Q02P$"% ,4    " #T9F183/G,!.!; P!O%"< %0
M@ $I80$ :6YO9"TR,#(S,3(S,7@Q,&LN:'1M4$L! A0#%     @ ]&9D6!^6
M[(H5%0  MX4  !D              ( !/+T$ &EN;V0M,C R,S$R,S%X97@Q
M,&0R,"YH=&U02P$"% ,4    " #T9F18?]H=SE$$  #[,P  %@
M    @ &(T@0 :6YO9"TR,#(S,3(S,7AE>#(Q+FAT;5!+ 0(4 Q0    ( /1F
M9%A L&X/?P,  $X*   6              "  0W7! !I;F]D+3(P,C,Q,C,Q
M>&5X,C,N:'1M4$L! A0#%     @ ]&9D6+M);$7("   ^C@  !@
M     ( !P-H$ &EN;V0M,C R,S$R,S%X97@S,60Q+FAT;5!+ 0(4 Q0    (
M /1F9%BP??DHR @  ',X   8              "  ;[C! !I;F]D+3(P,C,Q
M,C,Q>&5X,S%D,BYH=&U02P$"% ,4    " #T9F18P9O&T&T%  #G&@  &
M            @ &\[ 0 :6YO9"TR,#(S,3(S,7AE>#,R9#$N:'1M4$L! A0#
M%     @ ]&9D6**5_D=K!0  ,1L  !@              ( !7_($ &EN;V0M
M,C R,S$R,S%X97@S,F0R+FAT;5!+ 0(4 Q0    ( /1F9%A>Q9[D%!<   ^7
M   8              "  0#X! !I;F]D+3(P,C,Q,C,Q>&5X.3=D,2YH=&U0
52P4&      X #@"[ P  2@\%

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>112
<FILENAME>inod-20231231x10k_htm.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:country="http://xbrl.sec.gov/country/2023"
  xmlns:dei="http://xbrl.sec.gov/dei/2023"
  xmlns:ecd="http://xbrl.sec.gov/ecd/2023"
  xmlns:inod="http://www.innodata-isogen.com/20231231"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:srt="http://fasb.org/srt/2023"
  xmlns:stpr="http://xbrl.sec.gov/stpr/2023"
  xmlns:us-gaap="http://fasb.org/us-gaap/2023"
  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="inod-20231231.xsd" xlink:type="simple"/>
    <context id="As_Of_12_31_2023_us-gaap_PlanNameAxis_inod_July2019Member_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_W4sF6Z6qyUa03x_b80ZQXQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:July2019Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_7_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_DObil0Cd0kaw8yOhXhDDUQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-07-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_VWkoYgCEzEuN3t0z8mOTLQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_y6LH4FZyUU6spha9-bbn_A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_S7Xu-iAocEyNWI82JzTqfA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_njClAqiM4Eeb0hjXjSlViw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_01xSO6MKUEWeyN3RC-tO2g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedTranslationAdjustmentMember_mHQ4p6twU06hTlgC7UtGPA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_pzr1FtTpQEeyVTKJemj5Wg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_r-4TmZcddkOH0mSP_wvnFw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_8s3R-6bglUejDK2j7LO24g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_c9nI-ppBdkmTCKau0PGdkA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</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="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_Xh-mWyVn70OE9xUci_IQRQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</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="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_OA_fgtmpVkC1MWGVYBi_hQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</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="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedTranslationAdjustmentMember__fbw9TgseEeDPSCwFeZUfQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_c7lWhPVgBE-WkvyMz14pyQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</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="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_huEGSbabNkKfAjcJrm83rw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_kZgpW4-CxUutJCwalaxPhw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_H0GPcDIcOU2QbycbGACgMA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</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="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_jf7hkqiWX0egegZhEMcvTA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</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="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_OguCQ5maD0G16LhxXCOQ4w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</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="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedTranslationAdjustmentMember_JmGwNz4ASUWfUFC-yCcPrg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_FJvH64UhtkiszY9Kg4pazw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</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="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_wN7JYwmcpUSPEYT5NjW66w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_oZr7_sMmSU617toIq-_dFQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_btqtIDidsk634d3sKbH3_w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_4NLZO_zTMEK5b6ECGUYIBA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_9XCb8WP8tEqD94mDq4uchg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</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="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_pBF4Y-Lg6kCL3PAB9bTWNw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</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="As_Of_12_31_2022_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_2Nfr3Br9R0mhG5MRLiyDnA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandTwentyOneEquityCompensationPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2021_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_B96TBqTFKEaluYlXpr5q7w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandThirteenStockPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_zYDg2tq3n0Oc7toZz_J8Rg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandThirteenStockPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_TitleOfIndividualAxis_srt_DirectorMember_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_wseCkmiACUS8SZkKg14hiw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:DirectorMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandThirteenStockPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_2MOLdCzC7E6PZi3R9hLQrA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandTwentyOneEquityCompensationPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_zSOyWwkuIk6SeJ-OjpNoVw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandThirteenStockPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_5qfGOF2UVU2H1ZwgTrg-lQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandTwentyOneEquityCompensationPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_E6JzJkGs60iVwm0NiLkEFw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandThirteenStockPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_7dfJBm3L5kyLlQmZU_dW2A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandTwentyOneEquityCompensationPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_uMKO-Xvs5Em3U_KvkoJlBw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandThirteenStockPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MinimumMember_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_3AmCVRd9KEy7rbq1vGpqvA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MaximumMember_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_3Pm8X4SEh0iGRRik8CFddQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_LvKkDDcU8U2445y8aZ9qYw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_xYlmmjRk5EC3kv0aujSB-g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_PanpiGRa70CvltWK11K3XA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:EquityPlansMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_0doUN1yxeE6e7yU6ySXQYg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:EquityPlansMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_YkATlAZycECBwoQG35brVw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandTwentyOneEquityCompensationPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_cSZVcu2dYE2kzuJl5WvLEw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandThirteenStockPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_qj4QrqwTtkeIYN2E8Tq2-Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:EquityPlansMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_WgP_-J30yUq6H7aSq2bW6Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:EquityPlansMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_PlanNameAxis_inod_EquityPlansMember_8-gjq0qjNkifVmyU2oIfwg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:EquityPlansMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_-vuRYrfzYkmvPTGuM6-RWA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:SynodexMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_hfrqOpdH60OwuH8iwP5vZg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:DdsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_VS8VoCn_NkSXn3oQdOqKmg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:AgilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_inod_OtherPrincipallyEuropeMember_kdhwqSqGT0O9PtPl-qkB6A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">inod:OtherPrincipallyEuropeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_US_iFLtBwWXw0aTJr5phU5fmA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_NL_k_leQGnSsEWgYiul_DRyrA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:NL</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_GB_4mXwBS_lJ0mF5wsBlCd7pA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:GB</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_CA_AOw3tuYUUUeHMssSM37RMw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_b5c4CvpcyUe-20ZsF4XSuA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:SynodexMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_9B1oaQAGS0SJig4AiUYcMQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:DdsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_esDU3rm5EE6OMbherdLDuw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:AgilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_inod_OtherPrincipallyEuropeMember_hBdIW5TnCEy1QdcKibvPWQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">inod:OtherPrincipallyEuropeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_US_5hthIEYwm0eKGwFyxNDM6Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_NL_xSsVJG2Br0yw55QMAs0AYA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:NL</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_GB_0sXgTTfeykWLEN1FuHAEhw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:GB</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_CA_HEGbN8jj5UKKBBZUq3vvig">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_4inx0p5d60qmVZRrhN40GQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_SoftwareDevelopmentMember_mht7vH8tKUef5L-G47g2nw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:SoftwareDevelopmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LeaseholdImprovementsMember_uzKSil1umEyaNihIikRvPA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_InProcessResearchAndDevelopmentMember_TwbDqKD0eEyEA6rPyTwn0Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:InProcessResearchAndDevelopmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_j7fr2aREr0etiwWXPom1Cw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_EquipmentMember_zzAXJJYIRU-phMDpp2ofCA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:EquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ConstructionInProgressMember_RaHGoRdNTE--bt8JibitXg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ConstructionInProgressMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_NnKaqIz6W0S5bpyx7bFy3A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerSoftwareIntangibleAssetMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_SoftwareDevelopmentMember_il3Kp-1yYEuSazF6g0FVOQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</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="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LeaseholdImprovementsMember_hNIgnDPHqUCSTT89xv2amQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</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="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_InProcessResearchAndDevelopmentMember_md_cXI5wp06jm59RmeLnXg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:InProcessResearchAndDevelopmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_-p-SWorF4E-hN-AJEpD9kA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</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="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_EquipmentMember_DGXm8rAQtU6PwKu4QVVPCw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:EquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_F-3xW7ASn0K6WUWt9riFzw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerSoftwareIntangibleAssetMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_SubsidiariesMember_DFFEGF58rE6oeVOhMg0aNg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:SubsidiariesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_SubsidiariesMember_EVm84t8OQkia1k5chZAOgA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:SubsidiariesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_inod_GermanAndUnitedKingdomSubsidiariesMember_QTB2moW3pkCwmlm8dntKtw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">inod:GermanAndUnitedKingdomSubsidiariesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_inod_ShortTermOperatingLeaseMember_x_QUpyv9IE-7cVpAPBGSdg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">inod:ShortTermOperatingLeaseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_inod_LongTermOperatingLeaseMember_DXOfr4xtMU-oKVzTsYBrRw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">inod:LongTermOperatingLeaseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_inod_ShortTermOperatingLeaseMember_El57wvTweE6UylGYfiFmKg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">inod:ShortTermOperatingLeaseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_inod_LongTermOperatingLeaseMember_tBWogeeDH0qj_QiwQfDvLQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">inod:LongTermOperatingLeaseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2023_srt_StatementGeographicalAxis_stpr_IL_MAsADG9zd0eYU0lSiJSk1Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">stpr:IL</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_srt_StatementGeographicalAxis_inod_ForeignCountriesMember_hzjj-hG2RkySFElnBcom0A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">inod:ForeignCountriesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_PH_BXetIOq2PUy09PanB1VcMw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:PH</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_LK_fcotOyfyCEOeSK58UW3WcA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:LK</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_IN_nQS0e64vb0OwUxdjuRF7VA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:IN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_GB_cGlE6M1wGEyQUI3RdGfVMA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:GB</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_CA_aAWcbW5hcUacnsmjpTYKMg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_srt_StatementGeographicalAxis_stpr_IL_foRoAo2c0EWVo5lTWTaRRw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">stpr:IL</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_srt_StatementGeographicalAxis_inod_ForeignCountriesMember_FBuuV21fgUea3lhDn10MKA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">inod:ForeignCountriesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_srt_StatementGeographicalAxis_country_US_ln2nGqa4pkW7JE8Dx8YURQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_srt_StatementGeographicalAxis_country_PH_r0CKHi2eW0eWdSEGI9mgqA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:PH</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_srt_StatementGeographicalAxis_country_LK_oaPqC3MzUkKvwJ93B0xWmA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:LK</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_srt_StatementGeographicalAxis_country_IN_qtD2fnWt7UeXcO59Vjiypg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:IN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_srt_StatementGeographicalAxis_country_GB_rsDGcGQTPEe5cRCF5Q2oUQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:GB</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_srt_StatementGeographicalAxis_country_CA_6ijCI4Yup0aJNI7uAFEvDg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_eEeeUQr3mkibdWknCwAtkQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_2VTL9IGn-0qYfrYlQnKN3w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_qXmgvxTx802OU8AiQe7VYA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_us-gaap_SubsegmentsConsolidationItemsAxis_inod_BeforeIntersegmentEliminationsMember_2V9Mg6e63UmQOnsRtk2ewQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:SynodexMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsegmentsConsolidationItemsAxis">inod:BeforeIntersegmentEliminationsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_us-gaap_SubsegmentsConsolidationItemsAxis_inod_AfterIntersegmentEliminationsMember_90AMqhMbSkSLYrBYYLonWg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:SynodexMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsegmentsConsolidationItemsAxis">inod:AfterIntersegmentEliminationsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_us-gaap_SubsegmentsConsolidationItemsAxis_inod_BeforeIntersegmentEliminationsMember_mZKU-HNpVkeVxqBMhDvpzA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:DdsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsegmentsConsolidationItemsAxis">inod:BeforeIntersegmentEliminationsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_us-gaap_SubsegmentsConsolidationItemsAxis_inod_AfterIntersegmentEliminationsMember_6xfH3kPftES4PwzNxRXytg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:DdsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsegmentsConsolidationItemsAxis">inod:AfterIntersegmentEliminationsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_us-gaap_SubsegmentsConsolidationItemsAxis_inod_BeforeIntersegmentEliminationsMember_Ol_MJGERcEO6rtt180a_9A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:AgilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsegmentsConsolidationItemsAxis">inod:BeforeIntersegmentEliminationsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_us-gaap_SubsegmentsConsolidationItemsAxis_inod_AfterIntersegmentEliminationsMember_YRNECY_QzEKvQBRFrI_rtw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:AgilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsegmentsConsolidationItemsAxis">inod:AfterIntersegmentEliminationsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_SubsegmentsConsolidationItemsAxis_inod_BeforeIntersegmentEliminationsMember_ZYXKfyc5bUuc_tUGR5jEnQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsegmentsConsolidationItemsAxis">inod:BeforeIntersegmentEliminationsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_SubsegmentsConsolidationItemsAxis_inod_AfterIntersegmentEliminationsMember_Dl9RY7RK2UODmIByd_M06A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsegmentsConsolidationItemsAxis">inod:AfterIntersegmentEliminationsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_us-gaap_SubsegmentsConsolidationItemsAxis_inod_BeforeIntersegmentEliminationsMember_QYt-iA7H00ybmHvX_Bcp8A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:SynodexMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsegmentsConsolidationItemsAxis">inod:BeforeIntersegmentEliminationsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_us-gaap_SubsegmentsConsolidationItemsAxis_inod_AfterIntersegmentEliminationsMember_rX0wtMiAMkyaIwTMffhTeg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:SynodexMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsegmentsConsolidationItemsAxis">inod:AfterIntersegmentEliminationsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_us-gaap_SubsegmentsConsolidationItemsAxis_inod_BeforeIntersegmentEliminationsMember_6lFqrVNeTk2ITm4KSuH9Yw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:DdsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsegmentsConsolidationItemsAxis">inod:BeforeIntersegmentEliminationsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_us-gaap_SubsegmentsConsolidationItemsAxis_inod_AfterIntersegmentEliminationsMember__QRq8LR7SEuoxYmZrlolQA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:DdsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsegmentsConsolidationItemsAxis">inod:AfterIntersegmentEliminationsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_us-gaap_SubsegmentsConsolidationItemsAxis_inod_BeforeIntersegmentEliminationsMember_sCdYBoaS2EuGi5AD29cP6A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:AgilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsegmentsConsolidationItemsAxis">inod:BeforeIntersegmentEliminationsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_us-gaap_SubsegmentsConsolidationItemsAxis_inod_AfterIntersegmentEliminationsMember_arrKlzbb70GZQU4AYDZ__w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:AgilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsegmentsConsolidationItemsAxis">inod:AfterIntersegmentEliminationsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_SubsegmentsConsolidationItemsAxis_inod_BeforeIntersegmentEliminationsMember_TJ9zMrxcmUCFxo6BZ1m9hA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsegmentsConsolidationItemsAxis">inod:BeforeIntersegmentEliminationsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_SubsegmentsConsolidationItemsAxis_inod_AfterIntersegmentEliminationsMember_v6mrBPP_IUWv0ooN07CK3A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsegmentsConsolidationItemsAxis">inod:AfterIntersegmentEliminationsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2023_srt_RangeAxis_srt_MinimumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_SoftwareDevelopmentMember_S8eo1oOwH0OqETLpq6C4Qg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:SoftwareDevelopmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_srt_RangeAxis_srt_MaximumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_SoftwareDevelopmentMember_UurneqD0Bk2FpWMKYsPoRg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:SoftwareDevelopmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_PatentsMember_zVB7ioDKikWsICnbFgSR-A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember__-GTYdyktECJT8VEe_EEig">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_aGTgNraUUUShkXeCx_LciQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_M1sjIcrZOkGs1qGMdqzpwA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:OptionIndexedToIssuersEquityEquityAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_BalanceSheetLocationAxis_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_AUfPf9OJf0G5NwXT0F9c1A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:PrepaidExpensesAndOtherCurrentAssetsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeForwardMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_BalanceSheetLocationAxis_us-gaap_AccruedLiabilitiesMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_InbCQGc--UKcVGc-vpr2Rg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BalanceSheetLocationAxis">us-gaap:AccruedLiabilitiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:ForeignExchangeForwardMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_PropertyPlantAndEquipmentMember_l3aWZIWm_0SZhUxTlhaGUA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:PropertyPlantAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_PropertyPlantAndEquipmentMember_q1bRmTSSYkOD3HDGnkIF2Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:PropertyPlantAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2023_srt_RangeAxis_srt_MinimumMember_YmaTx6N9qEuCsBJuq0OvGw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_srt_RangeAxis_srt_MaximumMember_PIfZGM-P3EK34TOf7oCTgw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_srt_RangeAxis_srt_MinimumMember_nGIL2e5ce024p70y-Q_Ycw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_srt_RangeAxis_srt_MaximumMember_1QamParElEGLqoWNrgblfg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_xJ-GY_vwXUCD4dgoexnKzg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_inod_CanadianSubsidiariesMember_FCfK_h6Wmky5ntCPvme4fQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">inod:CanadianSubsidiariesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_us-gaap_VariableRateAxis_us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember_H1VS6g2bE0uHuDqDCyn7rA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_MajorCustomersAxis_inod_ClientMember_srt_RangeAxis_srt_MinimumMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_wL6jRDzFb020zagpQ4Ygpg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">inod:ClientMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_MajorCustomersAxis_inod_ClientMember_srt_RangeAxis_srt_MinimumMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_rdFMdzOXSU-smKLQzFV_6g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">inod:ClientMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</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-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_us-gaap_NonUsMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_STsKk-a8DEKY3B2I_1Oy3w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_MajorCustomersAxis_inod_ForeignCustomerMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_3vPdv9N500KQ0vK1-GhRJA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">inod:ForeignCustomerMember</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-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_MajorCustomersAxis_inod_ClientMember_srt_RangeAxis_srt_MinimumMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_3CVCszgYdEKSonxTs4tK9w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">inod:ClientMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</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-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_us-gaap_NonUsMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_rFmV0NtGg0SSi0G5txTSVg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_MajorCustomersAxis_inod_TwoClientMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_Cfd5zrQQsUSS2QVh-CKFNQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">inod:TwoClientMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_MajorCustomersAxis_inod_ForeignCustomerMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_m4Iw8m0UtEONWu-1WAeD1w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">inod:ForeignCustomerMember</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-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2021_LPWzI6J5HECBN2kqx3f4aQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_srt_StatementGeographicalAxis_srt_AsiaMember_d4ka6TsD6EKK9ur-xGhFZg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_US_8DT353cHtEa626yJajOM5Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_7YF2pH0B5UijlCQ0p4ihHw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:SynodexMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_lFP-B3DwC0e_ZKSaD-pLNA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:DdsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_wiijic-RgECfCYdrud0aEQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:AgilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_TwFYk21iN0SwTxWg75DysQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:SynodexMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_a-22rrn9JUuT_fjkXrOsPA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:DdsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_Jc77nOKStUuc-rNnJbOogQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">inod:AgilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_us-gaap_EmployeeStockOptionMember_DPBvrTz6kkyaZw2HWXjVtQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_us-gaap_EmployeeStockOptionMember_l-ruXq15iEmvhjXE5yMAMw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_oy0WX7SYMUyLC7id-H4ucw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:ComputerSoftwareIntangibleAssetMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember__a2gkVDth0ywgic7QgphKQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">inod:AcquiredIntangibleAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_MrUGCXFZSEWy5o1j5bpSmw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:ComputerSoftwareIntangibleAssetMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_5ToJZqlEW0i8mTZxDTlASQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">inod:AcquiredIntangibleAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_Au2u0M_T90mYM-zrpZkzkQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_TDgoK54eBUmCow_apWlqcg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedTranslationAdjustmentMember_MXzUQ8pNpUygoHxpksj4TQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_RUyaer8lGE6_VcQ9LicmRQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_50Ly9HkcDEy-rKD-BGoM3Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_xblYvJaCp0qPeXhF3ODqyQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedTranslationAdjustmentMember_iZNJNhyXvUyaxwVtQpgbsg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedTranslationAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_cOS_gIzBZ0CnbFN3FJi6eA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_SoQXm1V1qUK3wkjLIc6eAw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedGainLossNetCashFlowHedgeParentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_-qi-V-dHIUiVFo6sJ0-f8w">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedDefinedBenefitPlansAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Duration_9_1_2015_To_9_30_2015_WYjG5CShO0SYkZwTcduhiA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
        </entity>
        <period>
            <startDate>2015-09-01</startDate>
            <endDate>2015-09-30</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_HH5I-e_i2k6rTauI9dQ1nQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandThirteenStockPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_10_31_2016_nJYF--Xc_U2SPEcPGZGJBg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
        </entity>
        <period>
            <instant>2016-10-31</instant>
        </period>
    </context>
    <context id="Duration_10_1_2016_To_10_31_2016_3W4g1vcmNEmrMg6_uGqOfQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
        </entity>
        <period>
            <startDate>2016-10-01</startDate>
            <endDate>2016-10-31</endDate>
        </period>
    </context>
    <context id="As_Of_6_9_2022_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanOtherMember_ox1r1yxlZUKpVY3wthwE9A">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandTwentyOneEquityCompensationPlanOtherMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-09</instant>
        </period>
    </context>
    <context id="As_Of_6_9_2022_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_JCHZ8nRusU6QD_8W_z81hQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:TwoThousandTwentyOneEquityCompensationPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-09</instant>
        </period>
    </context>
    <context id="As_Of_6_9_2022_us-gaap_PlanNameAxis_inod_AwardsGrantedPriorToApril112022Member_wMCt5JSWAkWsSxylLqjJdA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:AwardsGrantedPriorToApril112022Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-09</instant>
        </period>
    </context>
    <context id="As_Of_6_9_2022_us-gaap_PlanNameAxis_inod_AwardsGrantedOnOrAfterApril112022Member_cAZW4VpiL0eupZPF5M9ZTg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">inod:AwardsGrantedOnOrAfterApril112022Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-09</instant>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_RangeAxis_srt_MinimumMember__WjpBOXPAEK2_4FlqeOGLg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_RangeAxis_srt_MaximumMember_siGZ1qI_hkWqxx2Z-aZmRg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_9_1_2015_To_9_30_2015_srt_RangeAxis_srt_MinimumMember_-eLS3_HuOkeCrHwAx7hjPw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2015-09-01</startDate>
            <endDate>2015-09-30</endDate>
        </period>
    </context>
    <context id="Duration_9_1_2015_To_9_30_2015_srt_RangeAxis_srt_MaximumMember_4XA3eW6BaUmV_t9ZghQpdA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2015-09-01</startDate>
            <endDate>2015-09-30</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_lvzdDusiskOtELZ9OgVYdg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_MajorCustomersAxis_inod_ClientMember_srt_StatementGeographicalAxis_country_US_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_CkIJNvV73Eew6QKg_jNFhw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">inod:ClientMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_MajorCustomersAxis_inod_ThreeClientsMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_qmwWCbD92Umjf-TP88K6cw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">inod:ThreeClientsMember</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-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_MajorCustomersAxis_inod_OneClientMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_v9cM2ErFBEW4A75o1sqTTA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">inod:OneClientMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_srt_MajorCustomersAxis_inod_ClientMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_PcZ7ozjHUEaNBqnE2Sdjjw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">inod:ClientMember</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-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_MajorCustomersAxis_inod_FourClientsMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_hKUD1oPjwk2k4Wgce-zdFw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">inod:FourClientsMember</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-12-31</endDate>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_srt_MajorCustomersAxis_inod_ClientMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_y7QYRaUgCkqMg2oElbakdQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">inod:ClientMember</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-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_4_4_2023_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_anRnKJhV_EGKUcG18ZpIpg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-04</instant>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_Gt0Fc2emHkCNxWwCfSeNWw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TrademarksAndTradeNamesMember_Gj52JADWik2ItSOKlpbJzg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_jgpXL2KeZEmEkWN_lDeXmQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DatabasesMember_EBiWXn6yiECLhivoDMTk4Q">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DatabasesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_lJ-iqzoN70qDCnc-LsPEuw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_7PVrMi5Wr0aP4girP8kHXA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:ComputerSoftwareIntangibleAssetMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember_3Q1JoDdhqUC0jOy4GmA0aw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">inod:CapitalizedSoftwareDevelopmentCostWorkInProgressMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostMember_dKot9KqYtkm9_4foL5aTIA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">inod:CapitalizedSoftwareDevelopmentCostMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_3xT5wZurSEWwIqeeGVMCmw">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">inod:AcquiredIntangibleAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TrademarksAndTradeNamesMember_uHTO2EfbRUC-OqF-EOw6qA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksAndTradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_PatentsMember_WeQXdzje8ka8BkVNU3B7wQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_nLHbcZHXgU6_creI3uE6xA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DatabasesMember_mRRUGIoPKk-sWL8PUouAGQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DatabasesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_Zyeu2TOum0WZjX6qoUuy-g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</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="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_CNjlWMTNREa7402JV2GnsA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:ComputerSoftwareIntangibleAssetMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember_BEgB-Yr_nES75-uDd-4kHg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">inod:CapitalizedSoftwareDevelopmentCostWorkInProgressMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostMember_1EUD_z-rhES_jtnA2B4dGA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">inod:CapitalizedSoftwareDevelopmentCostMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_htNU6lFd3kKabu_rRRkMyA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">inod:AcquiredIntangibleAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="As_Of_6_30_2023_OyuV3U78lE6Mlcj9Xr-85g">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="As_Of_2_16_2024_Om65y9F620qLn_wtXo9NSQ">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
        </entity>
        <period>
            <instant>2024-02-16</instant>
        </period>
    </context>
    <context id="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000903651</identifier>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <unit id="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw">
        <measure>shares</measure>
    </unit>
    <unit id="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg">
        <measure>pure</measure>
    </unit>
    <unit id="Unit_Standard_customer_L07mCJvwDkuRDU6qXBuosg">
        <measure>inod:customer</measure>
    </unit>
    <unit id="Unit_Standard_client_M0gpsvUdgEqG9qCLCiii6A">
        <measure>inod:client</measure>
    </unit>
    <unit id="Unit_Divide_Vote_shares_Tei4HNwEo0userS1-1-JTg">
        <divide>
            <unitNumerator>
                <measure>inod:Vote</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <unit id="Unit_Divide_USD_shares_CsCIGYdPT06WFyu9y-PYzg">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <unit id="Unit_Standard_segment_ZgNiCSukjkyW3Oz99w8UqQ">
        <measure>inod:segment</measure>
    </unit>
    <us-gaap:DefinedBenefitPlanNetPeriodicBenefitCostCreditInterestCostStatementOfIncomeOrComprehensiveIncomeExtensibleList
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Hidden_9F_IJcTNdUOourX_cRLaCQ">http://fasb.org/us-gaap/2023#InterestIncomeExpenseNonoperatingNet</us-gaap:DefinedBenefitPlanNetPeriodicBenefitCostCreditInterestCostStatementOfIncomeOrComprehensiveIncomeExtensibleList>
    <us-gaap:DefinedBenefitPlanNetPeriodicBenefitCostCreditImmediateRecognitionOfActuarialGainLossStatementOfIncomeOrComprehensiveIncomeExtensibleList
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Hidden_Z2EeXA687kOcotYXn-bbJw">http://fasb.org/us-gaap/2023#OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax</us-gaap:DefinedBenefitPlanNetPeriodicBenefitCostCreditImmediateRecognitionOfActuarialGainLossStatementOfIncomeOrComprehensiveIncomeExtensibleList>
    <dei:EntityCentralIndexKey
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tc_h5nt8fT72EmA8d_tgYY8pg_2_1">0000903651</dei:EntityCentralIndexKey>
    <dei:CurrentFiscalYearEndDate
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tc_CH3qBFt0-0SN2svc0FpWfA_3_1">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentFiscalYearFocus
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tc_92lLikN590ShdveWurzWMQ_4_1">2023</dei:DocumentFiscalYearFocus>
    <dei:DocumentFiscalPeriodFocus
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tc_i51Tdjm0U0GftEdVyBNp2g_5_1">FY</dei:DocumentFiscalPeriodFocus>
    <us-gaap:CommitmentsAndContingencies
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      id="Hidden_Yrd0PO226Uu10IfDKrwUSA"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA"
      xsi:nil="true"/>
    <us-gaap:CommitmentsAndContingencies
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      id="Hidden_z9oUjWSepkuXW7EHOzb18Q"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA"
      xsi:nil="true"/>
    <us-gaap:PreferredStockValue
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      id="Hidden_vlvEup74iki0Z_pdtc4VRA"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA"
      xsi:nil="true"/>
    <us-gaap:PreferredStockValue
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      id="Hidden_XdYr6nBlSEWHwYx5f_2Giw"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA"
      xsi:nil="true"/>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="As_Of_12_31_2023_srt_RangeAxis_srt_MinimumMember_YmaTx6N9qEuCsBJuq0OvGw"
      id="Hidden_yGJN2FqFVEawQJWZoFoh0w">P2Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="As_Of_12_31_2023_srt_RangeAxis_srt_MaximumMember_PIfZGM-P3EK34TOf7oCTgw"
      id="Hidden_qOPG7XoMf06lp7FpqgoXEQ">P10Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="As_Of_12_31_2023_srt_RangeAxis_srt_MinimumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_SoftwareDevelopmentMember_S8eo1oOwH0OqETLpq6C4Qg"
      id="Hidden_JLLJiYyuKkqFRS0YKxa3_A">P3Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="As_Of_12_31_2023_srt_RangeAxis_srt_MinimumMember_YmaTx6N9qEuCsBJuq0OvGw"
      id="Hidden_qjmnNajey0O1TLxVoiF3kA">P10Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:LesseeOperatingLeaseTermOfContract
      contextRef="As_Of_12_31_2023_srt_RangeAxis_srt_MinimumMember_YmaTx6N9qEuCsBJuq0OvGw"
      id="Hidden_e1fpDG-ap0y2l40728ofbQ">P3Y</us-gaap:LesseeOperatingLeaseTermOfContract>
    <us-gaap:DefinedBenefitPlanNetPeriodicBenefitCostCreditInterestCostStatementOfIncomeOrComprehensiveIncomeExtensibleList
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      id="Hidden_aQtP6P0A1kWD3BSZJhu5aw">http://fasb.org/us-gaap/2023#InterestIncomeExpenseNonoperatingNet</us-gaap:DefinedBenefitPlanNetPeriodicBenefitCostCreditInterestCostStatementOfIncomeOrComprehensiveIncomeExtensibleList>
    <us-gaap:DefinedBenefitPlanNetPeriodicBenefitCostCreditImmediateRecognitionOfActuarialGainLossStatementOfIncomeOrComprehensiveIncomeExtensibleList
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      id="Hidden_de-PhSVLS0-kn7qLcGpriA">http://fasb.org/us-gaap/2023#OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax</us-gaap:DefinedBenefitPlanNetPeriodicBenefitCostCreditImmediateRecognitionOfActuarialGainLossStatementOfIncomeOrComprehensiveIncomeExtensibleList>
    <inod:ReservationOfSharesSubjectToOptionOrStockAppreciationRightsGrantedRatio
      contextRef="As_Of_6_9_2022_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanOtherMember_ox1r1yxlZUKpVY3wthwE9A"
      decimals="0"
      id="Hidden__ctoI4xhnE-wozOg_pPFdA"
      unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg">1</inod:ReservationOfSharesSubjectToOptionOrStockAppreciationRightsGrantedRatio>
    <inod:ReservationOfSharesSubjectToOptionOrStockAppreciationRightsGrantedRatio
      contextRef="As_Of_6_9_2022_us-gaap_PlanNameAxis_inod_AwardsGrantedOnOrAfterApril112022Member_cAZW4VpiL0eupZPF5M9ZTg"
      decimals="1"
      id="Hidden_HRVvmxM3skOkjfdZH6FqLA"
      unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg">1.5</inod:ReservationOfSharesSubjectToOptionOrStockAppreciationRightsGrantedRatio>
    <dei:AmendmentFlag
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Narr_FaVZggi51kC8DxsUmwmRRA">false</dei:AmendmentFlag>
    <dei:DocumentType
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Narr_05S0y6xom0Oa2xPEDGFR8w">10-K</dei:DocumentType>
    <dei:DocumentAnnualReport
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tc_go4kK-h7AUeJoAayHIo9kw_1_1">true</dei:DocumentAnnualReport>
    <dei:DocumentPeriodEndDate
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Narr_cg_QXDbLkEuC1HXYm6OgtQ">2023-12-31</dei:DocumentPeriodEndDate>
    <dei:DocumentTransitionReport
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tc_vP8Dg-96lE6tMphFX32Vxg_1_1">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Narr_GVehf-mK8k-pyUzGApdTRw">001-35774</dei:EntityFileNumber>
    <dei:EntityRegistrantName
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Narr_7Q2AtF3DFE-zKZYuaenE6g">INNODATA&#160;INC</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tc_zVJlxn2G6EaccA1jSmMDLg_1_0">DE</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tc_YxdVqFgBk0SK02xlVVJVrg_1_1">13-3475943</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tc_vfOL2FWhsESqy4Hs8vW0GA_5_0">55 Challenger Road</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Narr_mWFvZUCxR0q_teL4Igoehw">Ridgefield Park</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Narr_FVbj3YGCS02XRd4NA-t8vw">NJ</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tc_A-yb84wxbk2R5d9mV43NWQ_6_1">07660</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Narr_0hhKcxdg7ECp72oAeiD2IA">201</dei:CityAreaCode>
    <dei:LocalPhoneNumber
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Narr_wQEWHYz6j0GkZOWi_j-vnQ">371-8000</dei:LocalPhoneNumber>
    <dei:Security12bTitle
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tc_NK53kG68IkavuRsIv-B_0A_1_0">Common Stock</dei:Security12bTitle>
    <dei:TradingSymbol
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tc_f9kJl449LkCnZ1wlCRlqjA_1_2">INOD</dei:TradingSymbol>
    <dei:SecurityExchangeName
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Narr_ON9iL3mrA0uprzb3IHMZIA">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityWellKnownSeasonedIssuer
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Narr_k5BQAi0fXE29sfA2P1YvxQ">No</dei:EntityWellKnownSeasonedIssuer>
    <dei:EntityVoluntaryFilers
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Narr_FIKl_DtxoEaDT2C-tYDSyw">No</dei:EntityVoluntaryFilers>
    <dei:EntityCurrentReportingStatus
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Narr_TyPEPWj8bEaLHo2Jtiq7KA">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Narr_LAXKA4gacUe32Pt08I2Tew">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Narr_x3ThwwochkaHMBuLwe57IQ">Non-accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Narr_-KCe3aQJSUqbVwN_ZBifyg">true</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Narr_ABdusdMg8kGK0E5VyH18HA">false</dei:EntityEmergingGrowthCompany>
    <dei:DocumentFinStmtErrorCorrectionFlag
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Narr_SuoyVT5rU0exi4ehnS6wUA">false</dei:DocumentFinStmtErrorCorrectionFlag>
    <dei:EntityShellCompany
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Narr_I58pPiyST0SpgU3vnlGqNw">false</dei:EntityShellCompany>
    <dei:EntityPublicFloat
      contextRef="As_Of_6_30_2023_OyuV3U78lE6Mlcj9Xr-85g"
      decimals="0"
      id="Narr_UhAk92bwZE6SoCvam3g4xQ"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">294823074</dei:EntityPublicFloat>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="As_Of_2_16_2024_Om65y9F620qLn_wtXo9NSQ"
      decimals="INF"
      id="Narr_fd5SlEYDsEWoCHrb23578g"
      unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw">28752874</dei:EntityCommonStockSharesOutstanding>
    <ecd:Rule10b51ArrTrmntdFlag
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Narr_WGG4GJb7SkaAbpjjV-osIw">false</ecd:Rule10b51ArrTrmntdFlag>
    <ecd:Rule10b51ArrAdoptedFlag
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Narr_dXS8pSJ9m0CbL278ELFI4g">false</ecd:Rule10b51ArrAdoptedFlag>
    <ecd:NonRule10b51ArrAdoptedFlag
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Narr_g7CGrcGSvEGpYBwBjVGnSg">false</ecd:NonRule10b51ArrAdoptedFlag>
    <ecd:NonRule10b51ArrTrmntdFlag
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Narr_Z4vHmvcBkUiQocckMpPGWw">false</ecd:NonRule10b51ArrTrmntdFlag>
    <dei:AuditorFirmId
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Narr_4WM1BPR-w0ayIZfstGxASA">6074</dei:AuditorFirmId>
    <dei:AuditorName
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Narr_Jn4oM9eBKU6nraMhv50Eyw">BDO India LLP</dei:AuditorName>
    <dei:AuditorLocation
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Narr_Htvs5fNhkUqqCL0N13eoHQ">Mumbai</dei:AuditorLocation>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_MiOxs6_WaU-yF_MSax1l9A_4_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">13806000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_6KhS3sgyD0mSg7SCwKhkVg_4_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">9792000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:OtherShortTermInvestments
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_Vm8fy6J9ZEGvaCfY5V3LVw_5_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">14000</us-gaap:OtherShortTermInvestments>
    <us-gaap:OtherShortTermInvestments
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_8GHRlMxNeECfHW4ZNY6Q-w_5_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">507000</us-gaap:OtherShortTermInvestments>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_pQRW1GC81E2KR7ZCBd2LcA_6_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">14288000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_c-NRjmNYp0KQ23FiWm6lrQ_6_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">9528000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_VoxpHVVkPkG69cX4TSUcag_7_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">3969000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_-ZZlyI-qD0mCpozULmFQAA_7_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">3858000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_NEjhPggK3kiypGTV2yU0Gw_8_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">32077000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_h0QyeQIEtU-c7Qa0pFHUyA_8_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">23685000</us-gaap:AssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_Gg1E0IOPmUW3rnGeWqUxxQ_9_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">2281000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_6bgnVN6lR0qNCyLWJQSLbw_9_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">2511000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_IApZRGr8KEiDBVjqvRA6Ag_10_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">5054000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_cEIIxp3kn0eXb9sFu9WPSw_10_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">4309000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_mYRNSL3QekKO_9CQZhntNw_11_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">2445000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_0XoOQnZsFEGoA4VQGEZopg_11_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">1498000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_SB72mgL7mUOMHd5CohslWQ_12_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">1741000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_dXFr90V7FEyNwxJE2SyPlw_12_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">1475000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_j74sLKKiAk2nZWC1qjkbdw_13_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">13758000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_Ju929RRzOU6v_m1p9Izugg_13_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">12526000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:Goodwill
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_5tfwur4tVE-QvgJ5dw300g_14_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">2075000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_UXH6VyVRVkOI-XCASgQYVw_14_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">2038000</us-gaap:Goodwill>
    <us-gaap:Assets
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_X_e3zrPCpkmxNpDMA394Og_15_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">59431000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_0T-0zh937U2tMgFT_7xcew_15_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">48042000</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_RG85TM4L9EKIAAByZ_ytYA_18_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">2662000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_eHIw8Def2Eu29R_-lpKJPw_18_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">2630000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_d502nAavHEO3XYtpjppsuA_19_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">6583000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_RmgF9_comkaXDCEsa8ZBlA_19_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">7250000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_vMLRHdTjmkmD6RxbSRTgPQ_20_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">7799000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_DgygbVZVhEO6_qfNzcS3Bw_20_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">6136000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:TaxesPayableCurrent
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_W898QUGuSEuv0ZIuhHm4Nw_21_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">3848000</us-gaap:TaxesPayableCurrent>
    <us-gaap:TaxesPayableCurrent
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_VXb4HZyqhE-J98H3gmRi2Q_21_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">3230000</us-gaap:TaxesPayableCurrent>
    <inod:CurrentPortionOfLongTermObligations
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_KEkC6kVxJUKpeGee3p1S8Q_22_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">1261000</inod:CurrentPortionOfLongTermObligations>
    <inod:CurrentPortionOfLongTermObligations
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_Bqn_VshyPUiZesKl3U01Ng_22_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">877000</inod:CurrentPortionOfLongTermObligations>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_oQXApZHxzkyvj6_lHNVshg_23_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">782000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_HfSNN0uGv06VvSOkwnKvkA_23_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">693000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_v3Yhi-XgyUWeNFalr_abfQ_24_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">22935000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_-9OnQGwEq0620_0Rk9Ajyw_24_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">20816000</us-gaap:LiabilitiesCurrent>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_zFHkX2sus0ScfvGykjY6vA_25_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">22000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_-M1IZ-ifmkOfd99Zl1Oxbw_25_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">65000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <inod:NoncurrentPortionOfLongTermObligations
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_WOJWBIBoIEOEwjn73Jtt7g_26_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">6778000</inod:NoncurrentPortionOfLongTermObligations>
    <inod:NoncurrentPortionOfLongTermObligations
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_FdjTDjRfvEaYNktc0orBzA_26_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">5079000</inod:NoncurrentPortionOfLongTermObligations>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_9Mzz4EC9BEC6i-SrFCkZpA_27_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">4701000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_CmE01w-rFkyKu0AZ2Mkn1A_27_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">4036000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:Liabilities
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_jGJIb59900Cl3uCV8nPOlw_28_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">34436000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_D4m9uI9d4ESPiJV9hSs0rg_28_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">29996000</us-gaap:Liabilities>
    <us-gaap:RedeemableNoncontrollingInterestEquityCarryingAmount
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_mW0jj55i7EmtcMHyNnghuA_32_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-708000</us-gaap:RedeemableNoncontrollingInterestEquityCarryingAmount>
    <us-gaap:RedeemableNoncontrollingInterestEquityCarryingAmount
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_GYxgYqFWvU2N8UZILe7g_A_32_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-727000</us-gaap:RedeemableNoncontrollingInterestEquityCarryingAmount>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="INF"
      id="Narr_Si3lppNx7U2EfCME63BKkw"
      unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw">4998000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="INF"
      id="Narr_rJVLuipTP0eOfT5C5XufGQ"
      unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw">4998000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="INF"
      id="Narr_-qqLhDMnUkakMVc4JnpbcA"
      unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="INF"
      id="Narr_Da5k6QR7dk6HOYp2-eUHqw"
      unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="INF"
      id="Narr_mSVuFF-5pUq-nSnxMxt7kQ"
      unitRef="Unit_Divide_USD_shares_CsCIGYdPT06WFyu9y-PYzg">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="INF"
      id="Narr_NvqIlz-1iE26FaXJZNR55w"
      unitRef="Unit_Divide_USD_shares_CsCIGYdPT06WFyu9y-PYzg">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="INF"
      id="Narr_K9yRWKwNa0-jIpVa4Idscg"
      unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw">75000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="INF"
      id="Narr_DBlol9omlUmDKOX-C4JrPg"
      unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw">75000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="INF"
      id="Narr_v1JAYSYcmES6uRRbjE6cZA"
      unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw">31937000</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="INF"
      id="Narr_cYXvlZ2UGU2KJ83TtNiQlA"
      unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw">28753000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="INF"
      id="Narr_F1ZvXEla3kaN_htwC4QUiQ"
      unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw">30589000</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="INF"
      id="Narr_86EaE3F92kGt1GcJVT7T3A"
      unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw">27405000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValue
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_4Vizxpvxm0G3nTFyCnHWeg_35_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">320000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_teulgYywEEWD6OeNvq7YWg_35_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">306000</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapital
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_WgtoBM4UOEGrXnp02bRgtg_36_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">43152000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:AdditionalPaidInCapital
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_ag6Z5YFhzU22Hb8-P8OxcA_36_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">35815000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_-U0OsGLP-E-paw-8CG0hDA_37_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-9683000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_k76jolqoxku9uEShzxXC6g_37_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-8775000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_8h_Vp-h2WEi7yh7XkvdZeg_38_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-1621000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_TzgizqPCe0uVkxr7tIaQvA_38_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-2108000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:StockholdersEquityBeforeTreasuryStock
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_u79GH05r0kyqLbTvBn25cQ_39_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">32168000</us-gaap:StockholdersEquityBeforeTreasuryStock>
    <us-gaap:StockholdersEquityBeforeTreasuryStock
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_DCmj0tNIW0SKwX4tTQhR5A_39_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">25238000</us-gaap:StockholdersEquityBeforeTreasuryStock>
    <us-gaap:TreasuryStockCommonShares
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="INF"
      id="Narr_jajre2mgUEaza0pbADsVZw"
      unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw">3184000</us-gaap:TreasuryStockCommonShares>
    <us-gaap:TreasuryStockCommonShares
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="INF"
      id="Narr_ChrELjZ1-kaGir867o9Wqg"
      unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw">3184000</us-gaap:TreasuryStockCommonShares>
    <us-gaap:TreasuryStockValue
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_6vHG4ipDBU6MzLn19E65-A_40_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">6465000</us-gaap:TreasuryStockValue>
    <us-gaap:TreasuryStockValue
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_ycmqILVVSE2GSjc0OctQoA_40_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">6465000</us-gaap:TreasuryStockValue>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_UXI_o8NRF0ShWg7fyz2mIw_41_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">25703000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_gH1iTt31wUKd4ZPoPQQY2A_41_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">18773000</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_lrsGKPo05EWB_yk1bTYO6g_42_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">59431000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc__LkyvAFgSUGS1GbuXYz68A_42_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">48042000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_VJ3nKDqSzUebsCABTdT7mw_2_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">86775000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_VgBZUNBxIE-uY8p5w9f4nw_2_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">79001000</us-gaap:Revenues>
    <us-gaap:DirectOperatingCosts
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_uilnpFRtX0aaDgruxUlKgw_3_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">55482000</us-gaap:DirectOperatingCosts>
    <us-gaap:DirectOperatingCosts
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_uSwRBBVM6kie3yFkhSkEnQ_3_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">51533000</us-gaap:DirectOperatingCosts>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_7O9elMn920aJ7LRclOF45g_4_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">30975000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_OJtm90Dyb0mSOb-qXZMGlw_4_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">37940000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:InterestIncomeExpenseNonoperatingNet
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_qBddo3gOgU61g9vBZpoIpg_5_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-179000</us-gaap:InterestIncomeExpenseNonoperatingNet>
    <us-gaap:InterestIncomeExpenseNonoperatingNet
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_tf_8ImFOxUWFr-vABmplnQ_5_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-11000</us-gaap:InterestIncomeExpenseNonoperatingNet>
    <us-gaap:CostsAndExpenses
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_TLW7oFByy0GpBecHjzcW8A_6_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">86636000</us-gaap:CostsAndExpenses>
    <us-gaap:CostsAndExpenses
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_8yP9vWzf7Eiaet5SZooUGA_6_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">89484000</us-gaap:CostsAndExpenses>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_1Yro6zbNxUmnDg-6mRPGhw_7_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">139000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_T96YuGnyJ0O6kHpbg11SmA_7_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-10483000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_KrPMM-XhVECCuJZBVexA3Q_9_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">1028000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_8IxDkR1K3keouX2XfvohDg_9_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">1522000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_swpYCJRDwkuhAJOMmNvT9Q_11_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-889000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_IQyoafO6cECxFIwBuIuh0Q_11_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-12005000</us-gaap:ProfitLoss>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_0iISRVGBxk2WcFL0wtBAhg_13_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">19000</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_i3zH24dXtEyBTAfgId3mNw_13_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-70000</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <inod:NetIncomeLossAttributableToParent1
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_XZf49KCAvUSWunj3gZ5CtQ_15_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-908000</inod:NetIncomeLossAttributableToParent1>
    <inod:NetIncomeLossAttributableToParent1
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_EPgCx002SEuaMXUz6lLhxA_15_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-11935000</inod:NetIncomeLossAttributableToParent1>
    <us-gaap:EarningsPerShareBasic
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="2"
      id="Tc_6wmxs1voD0WNppwuOH2U9w_18_3"
      unitRef="Unit_Divide_USD_shares_CsCIGYdPT06WFyu9y-PYzg">-0.03</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="2"
      id="Tc_6wmxs1voD0WNppwuOH2U9w_18_3_2"
      unitRef="Unit_Divide_USD_shares_CsCIGYdPT06WFyu9y-PYzg">-0.03</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareBasic
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="2"
      id="Tc_tOMNHynftEyeHLTJRrQt7g_18_6"
      unitRef="Unit_Divide_USD_shares_CsCIGYdPT06WFyu9y-PYzg">-0.44</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="2"
      id="Tc_tOMNHynftEyeHLTJRrQt7g_18_6_2"
      unitRef="Unit_Divide_USD_shares_CsCIGYdPT06WFyu9y-PYzg">-0.44</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="0"
      id="Tc_aXengro320qA1hocggR2PA_21_3"
      unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw">28131</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="0"
      id="Tc_aXengro320qA1hocggR2PA_21_3_2"
      unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw">28131</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="0"
      id="Tc_E-OeSWp7Ski4-5-Bm8YTtw_21_6"
      unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw">27278</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="0"
      id="Tc_E-OeSWp7Ski4-5-Bm8YTtw_21_6_2"
      unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw">27278</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_wu_d0N581Em8gM2uTirRPA_24_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-889000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_gVwC9JkQV028ZVkZGAP2dA_24_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-12005000</us-gaap:ProfitLoss>
    <us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_y44dJWvNNEelShzK-x-DXQ_25_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">326000</us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_-3noh0KkSUuQvvyxvYC8Hg_25_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-772000</us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_GqDxfCUj3kyyWZO0Cq1RAQ_26_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">407000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_9xE2xHNHskqb0Igf7_jQeQ_26_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-676000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_FenFeZPTIE6TJrb5_a4ZVQ_27_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">406000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_l-4U-Bxi5E2wN4jnqXQzPw_27_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-12000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_rBzKslfxCEaxU4opE5TEoA_28_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">487000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTax
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_4Bg-Zm1_R0aHAuCNBgCZcg_28_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">84000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_RwHQzmdQaUOY7ARddg7zqw_29_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-402000</us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_0v8KuJtN3UOSkUBoco5SYg_29_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-11921000</us-gaap:ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_q7Yvf00iV0ew46UXk7LU9w_30_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">19000</us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_4jr-sJ5ctkemVonz7eZ5ZA_30_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-70000</us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_P5aCR393wUWPdKOI1aNOpg_31_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-421000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_96u-hFvydUaSPtvFq1QrLg_31_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-11851000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:SharesOutstanding
      contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_pBF4Y-Lg6kCL3PAB9bTWNw"
      decimals="-3"
      id="Tc_lG-DaaQFeEWon7_T-Kz_nw_5_2"
      unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw">30347000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_pBF4Y-Lg6kCL3PAB9bTWNw"
      decimals="-3"
      id="Tc_LggSxC2QCE6zJLO8T7VsqQ_5_5"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">303000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_OguCQ5maD0G16LhxXCOQ4w"
      decimals="-3"
      id="Tc_yLDbdQ40Bk26dnjrwgjeEw_5_8"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">35121000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_jf7hkqiWX0egegZhEMcvTA"
      decimals="-3"
      id="Tc_aFZ7Pmr2EEuBzMsQ7pibIQ_5_11"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">3160000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_FJvH64UhtkiszY9Kg4pazw"
      decimals="-3"
      id="Tc_IbvC3gAXh0SdcoU0fVIYNA_5_14"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-2192000</us-gaap:StockholdersEquity>
    <us-gaap:TreasuryStockCommonShares
      contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_H0GPcDIcOU2QbycbGACgMA"
      decimals="-3"
      id="Tc_2vO8j_9FWES_IDFIeWAhow_5_16"
      unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw">-3184000</us-gaap:TreasuryStockCommonShares>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_H0GPcDIcOU2QbycbGACgMA"
      decimals="-3"
      id="Tc_zJZjLl5tzEe_WXnBykXlBQ_5_19"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-6465000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2021_LPWzI6J5HECBN2kqx3f4aQ"
      decimals="-3"
      id="Tc_l6eTi3ZdckGQ-zkn9BV__A_5_22"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">29927000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_2VTL9IGn-0qYfrYlQnKN3w"
      decimals="-3"
      id="Tc_wtzzIufgOUmn_hCoKiQYvA_6_11"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-11935000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_fKD6CviZ6EuJHgEtJN-qSQ_6_22"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-11935000</us-gaap:NetIncomeLoss>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_TDgoK54eBUmCow_apWlqcg"
      decimals="-3"
      id="Tc_0fvuDulQGECp3_j_OJA66w_7_8"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">3283000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_b2qoFCWHWkWIqB2Mb3e31g_7_22"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">3283000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_4inx0p5d60qmVZRrhN40GQ"
      decimals="-3"
      id="Tc_9f0-YcTzbEi_etEeC-t5og_8_2"
      unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw">249000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_4inx0p5d60qmVZRrhN40GQ"
      decimals="-3"
      id="Tc_OeGwJ41sH0ymOHz2CZ83rg_8_5"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">3000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_TDgoK54eBUmCow_apWlqcg"
      decimals="-3"
      id="Tc_e9AqzN5IukiOvWHh_SS58w_8_8"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">329000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_Jwx8Lir9xkOADoCUIBvRig_8_22"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">332000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:RestrictedStockSharesIssuedNetOfSharesForTaxWithholdings
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_4inx0p5d60qmVZRrhN40GQ"
      decimals="-3"
      id="Tc_gwWOZVzm-ku_Ck61Cv8RJQ_9_2"
      unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw">-7000</us-gaap:RestrictedStockSharesIssuedNetOfSharesForTaxWithholdings>
    <us-gaap:RestrictedStockValueSharesIssuedNetOfTaxWithholdings
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_TDgoK54eBUmCow_apWlqcg"
      decimals="-3"
      id="Tc_0DNm567jJUG_-omJsy-ZiA_9_8"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-53000</us-gaap:RestrictedStockValueSharesIssuedNetOfTaxWithholdings>
    <us-gaap:RestrictedStockValueSharesIssuedNetOfTaxWithholdings
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_3j5ISYvhBU2bwtDDrxBKjA_9_22"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-53000</us-gaap:RestrictedStockValueSharesIssuedNetOfTaxWithholdings>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalOther
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_TDgoK54eBUmCow_apWlqcg"
      decimals="-3"
      id="Tc_O3hA1vnXEkuTR0_sQvV7Gg_10_8"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-2865000</us-gaap:AdjustmentsToAdditionalPaidInCapitalOther>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalOther
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_yoxQ9qyHq0iROv2gnkfvBQ_10_22"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-2865000</us-gaap:AdjustmentsToAdditionalPaidInCapitalOther>
    <us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_cOS_gIzBZ0CnbFN3FJi6eA"
      decimals="-3"
      id="Tc_9oT7MbvDnEuZROJzlqWX9A_11_14"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-772000</us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_qT1r3DFeT0K3rLV8u6ksrw_11_22"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-772000</us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_cOS_gIzBZ0CnbFN3FJi6eA"
      decimals="-3"
      id="Tc_6S4tRU4PWk6WqOeblxHP9w_12_14"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-676000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_4s1uNk_rhU2I08ObwJ7NnA_12_22"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-676000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_cOS_gIzBZ0CnbFN3FJi6eA"
      decimals="-3"
      id="Tc_tl4XrjVPfUiedViKr0IzWw_13_14"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-12000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_gvPIDq5yn0mzl740PS4lRg_13_22"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-12000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:SharesOutstanding
      contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_9XCb8WP8tEqD94mDq4uchg"
      decimals="-3"
      id="Tc_7POv5QLWc06cMAmOVDhEHA_14_2"
      unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw">30589000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_9XCb8WP8tEqD94mDq4uchg"
      decimals="-3"
      id="Tc_XbyDJXb6okGFMSBPPsWPzQ_14_5"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">306000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_OA_fgtmpVkC1MWGVYBi_hQ"
      decimals="-3"
      id="Tc_i2GNn3sDfkKkCl9Y9NJrmA_14_8"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">35815000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_Xh-mWyVn70OE9xUci_IQRQ"
      decimals="-3"
      id="Tc_lF35usudTkmhYvAucWxT8A_14_11"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-8775000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_c7lWhPVgBE-WkvyMz14pyQ"
      decimals="-3"
      id="Tc_L-RXatoUQkixYN1rg-CkMQ_14_14"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-2108000</us-gaap:StockholdersEquity>
    <us-gaap:TreasuryStockCommonShares
      contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_c9nI-ppBdkmTCKau0PGdkA"
      decimals="-3"
      id="Tc_VNT0nLtNS0C258gbSme1YQ_14_16"
      unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw">-3184000</us-gaap:TreasuryStockCommonShares>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_c9nI-ppBdkmTCKau0PGdkA"
      decimals="-3"
      id="Tc_oCENd7JsfUWItvUxnrpPHg_14_19"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-6465000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_K4ywWxuUREWM8Vukwi6YXQ_14_22"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">18773000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_eEeeUQr3mkibdWknCwAtkQ"
      decimals="-3"
      id="Tc_-MiD3JAp5kenPj2k2fKFOw_15_11"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-908000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_5H5TP5LneE2GEcYiqsUKVg_15_22"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-908000</us-gaap:NetIncomeLoss>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_Au2u0M_T90mYM-zrpZkzkQ"
      decimals="-3"
      id="Tc_E9L0NQXwBkK7KUtDJgFYZQ_16_8"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">4027000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_0Livaj5J5U-UxCq8PvkE1Q_16_22"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">4027000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_btqtIDidsk634d3sKbH3_w"
      decimals="-3"
      id="Tc_lmIrI0mTg0iOIFfGzAbc4g_17_2"
      unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw">1351000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_btqtIDidsk634d3sKbH3_w"
      decimals="-3"
      id="Tc_KGMPSks8bEilDKwHnwIWYA_17_5"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">14000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_Au2u0M_T90mYM-zrpZkzkQ"
      decimals="-3"
      id="Tc_jBA5xaQNr0GIxCcsycT9Ng_17_8"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">3310000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_TkEKD-nRNE-TmeuiqCJeYA_17_22"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">3324000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_btqtIDidsk634d3sKbH3_w"
      decimals="-3"
      id="Tc_-f30-JH570SJm508DfY_1w_18_2"
      unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw">3000</us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation>
    <us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_RUyaer8lGE6_VcQ9LicmRQ"
      decimals="-3"
      id="Tc_r5m5oddWE0eF2b9sWmt1Fw_19_14"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">326000</us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_LeXMfG5Tr0eZxAbm9N3yPg_19_22"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">326000</us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_RUyaer8lGE6_VcQ9LicmRQ"
      decimals="-3"
      id="Tc_cotCtZBOGEi0vfR8u7Lgsg_20_14"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">407000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_xX2AahMmTE2nHylF7YmSQA_20_22"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">407000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_RUyaer8lGE6_VcQ9LicmRQ"
      decimals="-3"
      id="Tc_l5EmoCV-fkatnqrnq2nRLA_21_14"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">406000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_LnZszzMTnESac2ngBFGKwA_21_22"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">406000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTax>
    <us-gaap:SharesOutstanding
      contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_4NLZO_zTMEK5b6ECGUYIBA"
      decimals="-3"
      id="Tc_nPqqc3MJJ0Crpqcr7lstWw_22_2"
      unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw">31937000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_4NLZO_zTMEK5b6ECGUYIBA"
      decimals="-3"
      id="Tc_lLP1daGQ4USZcgGG3qLUJg_22_5"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">320000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember_01xSO6MKUEWeyN3RC-tO2g"
      decimals="-3"
      id="Tc_gg5safBJg0ShiYl15dF0RQ_22_8"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">43152000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_njClAqiM4Eeb0hjXjSlViw"
      decimals="-3"
      id="Tc_Mj8hKJBJz0-bWF4msa5Plg_22_11"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-9683000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_pzr1FtTpQEeyVTKJemj5Wg"
      decimals="-3"
      id="Tc_X7SGqmFUBkubVzzKQAXcBA_22_14"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-1621000</us-gaap:StockholdersEquity>
    <us-gaap:TreasuryStockCommonShares
      contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_S7Xu-iAocEyNWI82JzTqfA"
      decimals="-3"
      id="Tc_OcFLnNM1n0uNedMM5iFCig_22_16"
      unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw">-3184000</us-gaap:TreasuryStockCommonShares>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_S7Xu-iAocEyNWI82JzTqfA"
      decimals="-3"
      id="Tc_LUc3TT8Uzkayo7Hlt61GDQ_22_19"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-6465000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_rCiMte5SrEugGe3j-V8rqw_22_22"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">25703000</us-gaap:StockholdersEquity>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_ELHt60kFtEWqQkju6si6aQ_4_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-889000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_2hM3edthp02kzhSI0qDXcA_4_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-12005000</us-gaap:ProfitLoss>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_pDWSyQj1NUa4ohE4wiJsvQ_7_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">4716000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_7x_BsVcqbEalKFVCg3vn6w_7_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">3889000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:ShareBasedCompensation
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_yartHfVaUE2vGnK0fOozzg_8_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">4027000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_MLLNmFNNtEuNOi1F8VqPKA_8_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">3283000</us-gaap:ShareBasedCompensation>
    <us-gaap:DeferredIncomeTaxesAndTaxCredits
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_knw-2o5ZfUmPCHNbzGwmlw_9_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-276000</us-gaap:DeferredIncomeTaxesAndTaxCredits>
    <us-gaap:DeferredIncomeTaxesAndTaxCredits
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_g0swgLTVZEWlUdxg_8Aqng_9_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">217000</us-gaap:DeferredIncomeTaxesAndTaxCredits>
    <us-gaap:ProvisionForLoanLossesExpensed
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_kFzx-z-n3EyMv2s3liCOTg_10_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">426000</us-gaap:ProvisionForLoanLossesExpensed>
    <us-gaap:ProvisionForLoanLossesExpensed
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_0L01cFtTa0S_rRi0rGwdIA_10_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">480000</us-gaap:ProvisionForLoanLossesExpensed>
    <us-gaap:DefinedContributionPlanIncreaseDecreaseCost
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_sIlVe7kgE0Oud3fIeA9oHA_11_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">1046000</us-gaap:DefinedContributionPlanIncreaseDecreaseCost>
    <us-gaap:DefinedContributionPlanIncreaseDecreaseCost
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_MVqwvc-CFUii4_tTtt78QA_11_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">943000</us-gaap:DefinedContributionPlanIncreaseDecreaseCost>
    <us-gaap:GainLossOnTerminationOfLease
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_QkouQk7Y3UiHVXAsomAWQA_12_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-125000</us-gaap:GainLossOnTerminationOfLease>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_g5bnyQy9302EwMl55l1L1g_14_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">5116000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_z3gi6v6ZDki0bDtJT13FXw_14_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-1303000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_pPk01V3YQUaYEbO9qkaacg_15_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-372000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_JWG0-Rlz90yqDeJRAHVimw_15_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">226000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_gpa3d79PQEGXL_EaiAVuZw_16_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">171000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_6TdGG9vbuEe12oyT5OhmiA_16_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-750000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_1JwEwZKCAEeY9lf6EFSW9g_17_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-490000</us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_dT3LJwM_xE6jSmeFaArHUA_17_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">322000</us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_OS8z9Iz-HEWwkqOtltBqSw_18_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">1653000</us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities>
    <us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_KNzhCb3IkEOxS-T08iWqiw_18_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-310000</us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedTaxesPayable
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_OkVY7yJA5UCIn_jBjQwziw_19_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">605000</us-gaap:IncreaseDecreaseInAccruedTaxesPayable>
    <us-gaap:IncreaseDecreaseInAccruedTaxesPayable
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc__n0ATzyCi0GBdAap3gbpiw_19_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">13000</us-gaap:IncreaseDecreaseInAccruedTaxesPayable>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_hXUQJWsj70mn_4hTMtC47A_20_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">5903000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_Z0KUJhY9KkaehLp5acowjg_20_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-1216000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_VyyEH4JBck-jkBnsssYrgw_22_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">5564000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_3eQGKwp8HkWsceHp3GCB9w_22_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">6526000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsForProceedsFromShortTermInvestments
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_91ef3cKhokeDo3hRJXuYhg_23_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-493000</us-gaap:PaymentsForProceedsFromShortTermInvestments>
    <us-gaap:PaymentsForProceedsFromShortTermInvestments
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_1hLViIkGcEigU3jdVw8ynw_23_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">507000</us-gaap:PaymentsForProceedsFromShortTermInvestments>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_KAJwDar0JEWCipOz9gbgUQ_24_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-5071000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_xsd_UaH1J0m4WrOZcDFT-A_24_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-7033000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_3JwPtxjL1EWYyu7P99pawA_26_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">3324000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_um_jGBjJLESD0AQafUSpeg_26_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">332000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:RepaymentsOfLongTermDebt
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_WBoSxQpjSEumv3lie_dY-A_27_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">452000</us-gaap:RepaymentsOfLongTermDebt>
    <us-gaap:RepaymentsOfLongTermDebt
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_OqZ0AvQfM0W1WAaTvXGP1Q_27_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">639000</us-gaap:RepaymentsOfLongTermDebt>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_QJNGiXzooUOt05ttyhk4vA_28_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">2872000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_JCawGjzmgUC05Oxmv-wMVw_28_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-307000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_YCGb7Fw0Nk24vnUc6Qr5Ag_29_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">310000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_DlH6dvwnVUqpGCI3e6JBuQ_29_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-554000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_IMVW62A7y0KuJqoMwVLnxA_30_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">4014000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_b8KPU_fiD0izzdaiU31H5Q_30_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-9110000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_ajO3oYUFREykIuJzq1sFFg_31_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">9792000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2021_LPWzI6J5HECBN2kqx3f4aQ"
      decimals="-3"
      id="Tc_StiTGt1FfEiWVsweWxbB6w_31_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">18902000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_e3oCTpD520iCEavlVGbRPQ_32_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">13806000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_EFXNRdxnYEO-0er2PVT2eA_32_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">9792000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <inod:VendorFinancedSoftwareLicensesAcquired
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_D70fgqRfU0OTN3copQfW1A_34_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">1162000</inod:VendorFinancedSoftwareLicensesAcquired>
    <us-gaap:IncomeTaxesPaid
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_oywirQYf3kOx0a_lcAppGg_35_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">753000</us-gaap:IncomeTaxesPaid>
    <us-gaap:IncomeTaxesPaid
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_PuQxvda4Q0KEHdd9El377w_35_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">1107000</us-gaap:IncomeTaxesPaid>
    <us-gaap:OperatingLeasePayments
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_s-11QIosxU2IQY50PYpg3A_36_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">1557000</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeasePayments
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_NESl1F9ThE2DHnsYWyN_7g_36_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">1838000</us-gaap:OperatingLeasePayments>
    <us-gaap:InterestPaidNet
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_VTGzeQ6__0u1A6qzN5Hu9g_37_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">400000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_CiHOjF5ZY06f1lHXwpXB5A_37_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">19000</us-gaap:InterestPaidNet>
    <us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tb_jWI6yBtdTUeI4qn07aOHwQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;"&gt;1. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Description of Business and Summary of Significant Accounting Estimates and Policies &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Description of Business&lt;/b&gt; - Innodata Inc. (NASDAQ: INOD) (including its subsidiaries, the &#x201c;Company&#x201d;, &#x201c;Innodata&#x201d;, &#x201c;we&#x201d;, &#x201c;us&#x201d; or &#x201c;our&#x201d;) is a leading data engineering company. The Company&#x2019;s mission is to help the world&#x2019;s most prestigious companies deliver the promise of ethical, high-performing artificial intelligence (&#x201c;AI&#x201d;), which the Company believes will contribute to a safer and more prosperous world.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company was founded on a simple idea: engineer the highest quality data so organizations across broad industry segments could make smarter decisions. Today, the Company believes it is delivering the highest quality data for some of the world&#x2019;s most innovative technology companies to use to train the AI models of the future.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;AI holds the promise that computers can perceive and understand the world, enabling products and services that would have been previously unimaginable and impossible with traditional coding. AI learns from data, and the highest-performing AI will have learned from the highest-quality data. The Company believes that it can contribute meaningfully by harnessing its capabilities, honed over 30 years, in collecting and annotating data at scale with consistency and high accuracy.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company is also helping companies deploy and integrate AI into their operations and products and providing innovative AI-enabled industry platforms, helping ensure that its customers&#x2019; businesses are prepared for a world in which machines augment human activity in ways previously unimaginable. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company developed its capabilities and honed its approaches progressively over the last 30 years creating high-quality data for many of the world&#x2019;s most demanding information companies. Approximately eight years ago, the Company formed Innodata Labs, a research and development center, to research, develop and apply machine learning and emerging AI to its large-scale, human-intensive data operations. In 2019, the Company began packaging the capabilities that emerged from its R&amp;amp;D efforts in order to align with several fast-growing new markets and help companies use AI/ML to drive performance benefits and business insights.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company&#x2019;s historical core competency in high-quality data, combined with these R&amp;amp;D efforts in applied AI, created the foundation for the evolution of the Company&#x2019;s offerings, which include AI Data Preparation, AI Model Deployment and Integration, and AI-Enabled Industry Platforms.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;AI Data Preparation&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;For several of the world&#x2019;s large technology companies, the Company supports their efforts at building generative AI foundation models. For these companies, the Company provides or is poised to provide a range of scaled data solutions and services. The Company&#x2019;s scaled data solutions include providing instruction data sets for fine-tuning LLMs to understand prompts, to accept instruction, to converse, to apparently reason, and to perform the myriad of incredible feats that many of us have now experienced. The Company also provides reinforcement learning and reward modeling, services which are critical to provide the guardrails against toxic, bias and harmful responses, and model evaluation services. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;For social media companies, robotics companies, financial services companies, and many others, the Company collects or creates training data, annotates training data, and trains AI algorithms for working with images, text, video, audio, code and sensor data. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company utilizes a variety of leading third-party tools, proprietary tools and customer tools. For text annotation, the Company uses its proprietary data annotation platform that incorporates AI to reduce cost while improving consistency and quality of output. The Company&#x2019;s proprietary data annotation platform features auto-tagging capabilities that apply to both classical and generative AI tasks. The platform encapsulates many of the innovations the Company has conceived of in the course of its 30-year history of creating high-quality data.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;In addition, because collecting real-world data is often impracticable (due to data privacy regulations or rarity of cohorts and outliers), the Company creates high-quality synthetic data that maintains all of the statistical properties of real-world data, using a combination of domain specialists and machine technologies that leverage large language models (LLMs).&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;AI Model Deployment and Integration&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company helps businesses leverage the latest AI technologies to achieve their goals. The Company develops custom AI models (where it selects the appropriate algorithms, tunes hyperparameters, trains and validates the models, and updates the models as required). The Company also helps businesses fine-tune their own custom versions of the Company&#x2019;s proprietary models and third-party foundation models to address domain-specific and customer-specific use cases.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;For the Company&#x2019;s customers that provide products and solutions that require intensive text data processing and analytics, in addition to deploying and integrating AI models, the Company often provides a range of data engineering support services including data transformation, data curation, data hygiene, data consolidation, data extraction, data compliance, and master data management.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company&#x2019;s customers span a diverse range of industries and a wide range of AI use cases, benefiting from the short time-to-value and high economic returns of the Company&#x2019;s AI solutions and platforms.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;AI-Enabled Industry Platforms&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company&#x2019;s AI-enabled industry platforms address specific, niche market requirements the Company believes it can innovate with AI/ML technologies. The Company deploys these industry platforms as software-as-a-service (SaaS) and as managed services. These platforms benefit from the Company&#x2019;s technology infrastructure, its industry-specific knowledge, its strong customer relationships and experience merging technology with the business processes of its customers. To date, the Company has built an industry platform for medical records data extraction and transformation (which the Company brands as &#x201c;Synodex&lt;sup style="font-size:8.25pt;line-height:100%;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;top:0pt;vertical-align:top;"&gt;&#xae;&lt;/sup&gt;&#x201d;) and an industry platform for public relations (which the Company brands as &#x201c;Agility PR Solutions&#x201d;). The Company is in development with an additional AI-enabled industry platform to serve financial services institutions.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company&#x2019;s Synodex industry platform transforms medical records into useable digital data organized in accordance with its proprietary data models or customer data models. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company&#x2019;s Agility industry platform provides marketing communications and public relations professionals with the ability to target and distribute content to journalists and social media influencers world-wide and to monitor and analyze global news (print, web, radio and TV) and social media.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company&#x2019;s operations are presently classified and reported in three reporting segments: Digital Data Solutions (DDS), Synodex and Agility.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;span style="font-style:italic;font-weight:bold;"&gt;Critical Accounting Policies and Estimates&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Principles of Consolidation &lt;/b&gt;-&lt;b style="font-weight:bold;"&gt; &lt;/b&gt;The consolidated financial statements include the accounts of Innodata Inc. and its wholly owned subsidiaries, and docGenix, a limited liability company that is majority-owned by the Company. The non-controlling interests in the docGenix limited liability company have call and put options that can be settled in cash or stock. Accordingly, this is presented in temporary equity in accordance with Financial Accounting Standards Board (FASB) non-controlling interest guidance. All intercompany transactions and balances have been eliminated in consolidation.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Use of Estimates&#160;&lt;/b&gt;- In preparing consolidated financial statements in conformity with U.S. GAAP, management is required to make estimates and assumptions that affect the reported amounts of assets and liabilities, the disclosure of contingent assets and liabilities as of the date of the consolidated financial statements, and the reported amounts of revenues and expenses during the reporting period. Management believes that the estimates used in the preparation of the consolidated financial statements are reasonable. Actual results could differ from those estimates. Significant estimates include those related to the allowance for doubtful accounts and billing adjustments, useful life of long-lived assets, useful life of intangible assets, impairment of goodwill and intangible assets, valuation of deferred tax assets, valuation of stock-based compensation, pension benefit plan assumptions, litigation accruals and estimated accruals for various tax exposures.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Revenue Recognition&#160;&lt;/b&gt;- The Company&#x2019;s revenue is recognized when services are rendered or goods are delivered to a customer, in an amount that reflects the consideration that the Company expects to receive in exchange for those services or goods as per the agreement with the customer. In cases where there are agreements with multiple performance obligations, the Company identifies each performance obligation and evaluates whether the performance obligations are distinct within the context of the agreement at the agreement&#x2019;s inception. Performance obligations that are not distinct at agreement inception are combined. For agreements with distinct performance obligations, the Company allocates the transaction price to each distinct performance obligation proportionately based on the estimated standalone selling price for each performance obligation, if any, and then evaluates how the services are performed for the customer to determine the timing of revenue recognition.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;For the Digital Data Solutions (DDS) segment, revenue is recognized primarily based on the quantity delivered or resources utilized in the period in which services are performed and performance conditions are satisfied as per the agreement. Revenue from agreements billed on a time-and-materials basis is recognized as services are performed. Revenue from fixed-fee agreements, which is not significant to overall revenues, is recognized based on the proportional performance method of accounting, as services are performed, or milestones are achieved.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;For the Synodex segment, revenue is recognized primarily based on the quantity delivered in the period in which services are performed and performance conditions are satisfied as per the agreement. A portion of the Synodex segment revenue is derived from licensing the Company&#x2019;s functional software and providing access to the Company&#x2019;s hosted software platform. Revenue from such services is recognized monthly when all parties to the agreement have agreed to the agreement; each party&#x2019;s rights are identifiable; the payment terms are identifiable; the agreement has commercial substance; access to the service is provided to the end user; and collection is probable.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Agility segment derives its revenue primarily from subscription arrangements and provision of enriched media analysis services. It also derives revenue as a reseller of corporate communication solutions. Revenue from subscriptions is recognized monthly when access to the service is provided to the end user; all parties to the agreement have agreed to the agreement; each party&#x2019;s rights are identifiable; the payment terms are identifiable; the agreement has commercial substance; and collection is probable. Revenue from enriched media analysis services is recognized when the services are performed, and performance conditions are satisfied. Revenue from the reseller agreements is recognized at the gross amount received for the goods in accordance with the Company functioning as a principal due to the Company meeting the following criteria: the Company acts as the primary obligor in the sales transaction; assumes the credit risk; sets the price; can select suppliers; and is involved in the execution of the services, including after sales service.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;Revenue includes reimbursement of out-of-pocket expenses, with the corresponding out-of-pocket expenses included in direct operating costs.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;Revenue associated with the services provided in one period and billed in a subsequent period is commonly referred to as unbilled revenues and is included under Accounts receivable.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company considers U.S. GAAP criteria for determining whether to report gross revenue as a principal versus net revenue as an agent. The Company evaluates whether it is in control of the services before the same are transferred to the customer to assess whether it is principal or agent in the arrangement.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"&gt;Contract acquisition costs, which are included in prepaid expenses and other current assets, are amortized over the term of a subscription agreement or contract that normally has a duration of 12 months or less. The Company reviews these prepaid acquisition costs on a periodic basis to determine the need to adjust the carrying values for early terminated contracts. Included in prepaid expenses and other current assets on the accompanying consolidated balance sheets are contract acquisition costs amounting to $0.8 million for each of the years ended December 31, 2023 and 2022. These acquisition costs relate to our Agility segment and are amortized over the term of the subscription agreement which normally has a duration of 12 months or less.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Foreign Currency Translation&#160;&lt;/b&gt;- The functional currency of the Company&#x2019;s subsidiaries in the Philippines, India, Sri Lanka, Israel, Hong Kong, the United Kingdom and Canada (other than the Agility subsidiaries) is the U.S. dollar. Transactions denominated in Philippine pesos, Indian and Sri Lankan rupees, Israeli shekels, United Kingdom pound sterling and Canadian dollars are translated to U.S. dollars at rates which approximate those in effect on the transaction dates. Monetary assets and all liabilities denominated in foreign currencies on December 31, 2023 and December 31, 2022 are translated at the exchange rate in effect as of those dates. Non-monetary assets and stockholders&#x2019; equity are translated at the appropriate historical rates. Included in direct operating costs were foreign exchange losses (gains) resulting from such translations of approximately $0.4 million and ($1.3) million for the&#160;years ended December 31, 2023 and 2022, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The functional currency for the Company&#x2019;s subsidiary in Germany is the Euro. The functional currencies for the Company&#x2019;s Agility subsidiaries in the United Kingdom and Canada are the Pound Sterling and the Canadian dollar, respectively. The financial statements of these subsidiaries are prepared in their respective currencies. Financial information is translated from the applicable functional currency to the U.S. dollar (the reporting currency) for inclusion in the Company&#x2019;s consolidated financial statements. Income, expenses, and cash flows are translated at weighted-average exchange rates prevailing during the fiscal period, and assets and liabilities are translated at fiscal period-end exchange rates. Resulting translation adjustments are included as a component of accumulated other comprehensive loss in stockholders&#x2019; equity. Foreign exchange transaction gains or losses are included in direct operating costs in the accompanying consolidated statements of operations and comprehensive loss.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;min-height:12.0pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Derivative Instruments&#160;- &lt;/b&gt;The Company accounts for derivative transactions in accordance with the FASB&#x2019;s Accounting Standards Codification (&#x201c;ASC&#x201d;) Topic 825, &#x201c;Financial Instruments&#x201d;. For derivative instruments that are designated and qualify as cash flow hedges, the entire change in fair value of the hedging instrument is recorded in Other comprehensive income (loss). When the amounts recorded in Other comprehensive income (loss) are reclassified to earnings, they are included as part of Direct operating costs. For derivative instruments that are not designated as hedges, any change in fair value is recorded directly in earnings as part of Direct operating costs. The total notional value of designated outstanding foreign currency forward contracts was $10.5 million and $14.2 million as of December 31, 2023 and 2022, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Cash Equivalents&#160;- &lt;/b&gt;For financial statement purposes, the Company considers all highly liquid instruments purchased with an original maturity of three&#160;months or less to be cash equivalents.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Short term Investments-other&#160;- &lt;/b&gt;For financial statement purposes, the Company considers investments made in time deposits and treasury bills having an original maturity of more than three months but less than one year from the balance sheet date under short term investments.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Concentration of Credit Risk&#160;-&lt;/b&gt; The Company maintains its cash with highly rated financial institutions, located in the United States and in foreign locations where the Company has its operations. At December 31, 2023, the Company had cash and cash equivalents of $13.8 million, of which $6.5 million was held by its foreign subsidiaries and $7.3 million was held in the United States. To the extent that such cash exceeds the maximum insurance levels, the Company is uninsured. The Company has not experienced any losses in such accounts.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Accounts Receivable&#160;-&lt;/b&gt; Accounts receivable is generally recorded at the invoiced amounts, net of an allowance for expected losses. The Company establishes credit terms for new customers based upon management&#x2019;s review of their credit information and project terms, and performs ongoing credit evaluations of its customers, adjusting credit terms when management believes appropriate based upon payment history and an assessment of the customer&#x2019;s current creditworthiness.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;We record an allowance for credit losses for estimated losses resulting from the failure of our customers to make the required payments and provisions for billing adjustments relating to quality issues on delivered services. The allowance for credit losses is based on a review of specifically identified accounts and an overall aging analysis applied to accounts pooled based on similar risk characteristics. Judgments are made with respect to the collectability of accounts receivable within each pool based on historical experience, current payment practices, and current economic trends based on our expectations over the expected life of the receivables, generally ninety days or less. Actual credit losses could differ from those estimates.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Property and Equipment&lt;/b&gt;&#160;&lt;b style="font-weight:bold;"&gt;- &lt;/b&gt;Property and equipment are stated at cost and are depreciated on the straight-line method over the estimated useful lives of the related assets, which is generally &lt;span style="-sec-ix-hidden:Hidden_yGJN2FqFVEawQJWZoFoh0w;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"&gt;two&lt;/span&gt;&lt;/span&gt; to &lt;span style="-sec-ix-hidden:Hidden_qOPG7XoMf06lp7FpqgoXEQ;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"&gt;ten&#160;years&lt;/span&gt;&lt;/span&gt;. Leasehold improvements are amortized on a straight-line basis over the shorter of their estimated useful lives or the terms of the leases. Certain assets under capital leases are amortized over the lives of the respective leases or the estimated useful lives of the assets, whichever is shorter.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Capitalized Developed Software - &lt;/b&gt;The Company incurs development costs related to software it develops for its internal use. Qualifying costs incurred during the application development stage are capitalized. These costs primarily consist of internal labor and third-party development costs and are amortized using the straight-line method over the estimated useful life of the capitalized developed software, which generally ranges from &lt;span style="-sec-ix-hidden:Hidden_JLLJiYyuKkqFRS0YKxa3_A;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"&gt;three&lt;/span&gt;&lt;/span&gt; to ten years. All other research and maintenance costs are expensed as incurred. Capitalized developed software in progress as of December 31, 2023 and 2022 were $3.5 million and $2.8 million, respectively. The cumulative completed capitalized developed software as of December 31, 2023 and 2022 was $15.2 million and $11.8 million, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Long-lived Assets&#160;-&lt;/b&gt; Management assesses the recoverability of its long-lived assets, whenever events or changes in circumstances indicate that the carrying value may not be recoverable. The following factors, if present, may trigger an impairment&#160;review: (i)&#160;significant&#160;underperformance relative to expected historical or projected future operating results; (ii)&#160;significant negative industry&#160;or&#160;economic&#160;trends; (iii)&#160;significant decline in the Company&#x2019;s stock price&#160;for&#160;a&#160;sustained&#160;period;&#160;and&#160;(iv)&#160;a&#160;change&#160;in the Company&#x2019;s market capitalization relative to net book value. If the recoverability of these assets is unlikely because&#160;of&#160;the&#160;existence&#160;of one or more of the above-mentioned factors, an&#160;impairment analysis is performed, using undiscounted cash flow&#160;projections. Management makes assumptions regarding estimated future cash flows and other factors to determine the fair value of these respective assets. An impairment loss will be recognized only if the carrying value of a long-lived asset is not recoverable and exceeds its fair value and is measured as the amount by which the carrying amount of a long-lived asset exceeds its fair value.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Goodwill and Other Intangible Assets&lt;/b&gt;&#160;&lt;b style="font-weight:bold;"&gt;- &lt;/b&gt;The Company performs a valuation of assets acquired and liabilities assumed on each acquisition accounted for as a business combination and allocates the purchase price of each acquired business to its respective net tangible and intangible assets and liabilities. Acquired intangible assets principally consist of technology, customer relationships, backlog and trademarks, having useful lives which range from &lt;span style="-sec-ix-hidden:Hidden_qjmnNajey0O1TLxVoiF3kA;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"&gt;ten&lt;/span&gt;&lt;/span&gt; to twelve years. The Company determines the appropriate useful life by performing an analysis of expected cash flows based on projected financial information of the acquired businesses. Intangible assets are amortized over their estimated useful lives using the straight-line method, which approximates the pattern in which the majority of the economic benefits are expected to be consumed. Intangible assets are amortized into direct operating costs ratably over their expected related revenue streams over their useful lives.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;Goodwill represents the excess of the cost of an acquired entity over the fair value of the acquired net assets. The Company does not amortize goodwill but evaluates it for impairment at the reporting unit level annually during the third quarter of each fiscal&#160;year (as of September&#160;30 of that year) or when an event occurs, or circumstances change, that indicates the carrying value may not be recoverable.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company performed its annual goodwill assessment for the Agility segment as of September 30, 2023 for impairment. The impairment test involves estimating the fair value based on a combination of income (estimates of future discounted cash flows) and the market approach (market multiples for similar companies) using unobservable inputs (Level 3). The Company concluded that there is no impairment of goodwill for the Agility segment.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Income Taxes&#160;&lt;/b&gt;- Estimated deferred taxes are determined based on the difference between the financial statement and tax basis of assets and liabilities, using enacted tax rates, as well as any net operating loss or tax credit carryforwards expected to reduce taxes payable in future&#160;years. A valuation allowance is provided when it is more likely than not that all or some portion of the estimated deferred tax assets will not be realized. While the Company considers future taxable income in assessing the need for the valuation allowance, in the event that the Company anticipates that it will be able to realize the estimated deferred tax assets in the future in excess of its net recorded amount, an adjustment to the provision for deferred tax assets would increase income in the period such determination was made. Similarly, in the event that the Company anticipates that it will not be able to realize the estimated deferred tax assets in the future considering future taxable income, an adjustment to the provision for deferred tax assets would decrease income in the period such determination was made. Changes in the valuation allowance from period to period are included in the Company&#x2019;s tax provision in the period of change. The Company indefinitely reinvests the foreign earnings in its foreign subsidiaries. If such earnings are repatriated in the future, or are no longer deemed to be indefinitely reinvested, the Company would have to accrue as a liability the applicable amount of foreign jurisdiction withholding taxes associated with such remittances.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;In assessing the realization of deferred tax assets, management considered whether it is more likely than not that all or some portion of the U.S. and Canadian deferred tax assets will not be realizable. As the expectation of future taxable income resulting from the Synodex and Agility segments cannot be predicted with certainty, the Company maintains a valuation allowance against all the United States, Canadian and European (principally Germany and the United Kingdom) net deferred tax assets.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"&gt;The Company accounts for income taxes regarding uncertain tax positions, and recognizes interest and penalties related to uncertain tax positions in income tax expense in the consolidated statements of operations and comprehensive loss.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Accounting for Leases&#160;&lt;/b&gt;-&lt;b style="font-weight:bold;"&gt; &lt;/b&gt;Accounting Standards for Codifications (ASC 842 &#x201c;Accounting for Leases&#x201d;) requires lessees to recognize most leases on their balance sheets as liabilities, with corresponding &#x201c;right-of-use&#x201d; assets. The Company recognizes a right-of-use asset and corresponding lease liability for all its operating leases. See Note 9, Operating Leases.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The determination of whether an arrangement is, or contains, a lease is based on the substance of the arrangement at the inception date and requires an assessment of whether the fulfillment of the arrangement is dependent on the use of a specific asset or assets, or the arrangement conveys a right to use the asset. A reassessment is made after inception of the lease only if one of the following applies:&lt;/p&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="width:18pt;"&gt;&lt;/td&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;a.&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"&gt;there is a change in contractual terms, other than a renewal or extension of the arrangement; &lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="width:18pt;"&gt;&lt;/td&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;b.&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"&gt;a renewal option is exercised, or extension granted, unless the term of the renewal or extension was initially included in the lease term; &lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="width:18pt;"&gt;&lt;/td&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;c.&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"&gt;there is a change in the determination of whether fulfillment is dependent on a specified asset; or &lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="width:18pt;"&gt;&lt;/td&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;d.&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"&gt;there is a substantial change to the asset. &lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="margin-top:10pt;"&gt;&lt;/div&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;Whenever a reassessment is made, lease accounting shall commence or cease from the date when the change in circumstances gave rise to the reassessment for scenarios (a), (c) or (d) and at the date of renewal or extension period for scenario (b).&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"&gt;Leases where the lessor retains substantially all the risks and rewards of ownership are classified as operating leases. As of December 31, 2023, all of the Company&#x2019;s leases are classified under operating leases. Operating lease payments are recognized as an operating expense on a straight-line basis over the lease term.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Accounting for Stock-Based Compensation&#160;-&lt;/b&gt; The Company measures and recognizes stock-based compensation expense for all share-based payment awards made to employees and directors based on the estimated fair value at the grant date. The stock-based compensation expense is recognized over the requisite service period. The fair value of stock option grants is determined using the Black-Scholes option-pricing model and the fair value of restricted stock units is determined using the Binomial option pricing model. For restricted stock units which are time vested, the fair value is determined based on the grant date fair value.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The stock-based compensation expense related to the Company&#x2019;s stock plans were allocated as follows (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:50%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:53.81%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.51%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.18%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.62%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:53.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:42.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year&#160;Ended&#160;December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:53.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:53.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Direct operating costs&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 294&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 214&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:53.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Selling and administrative expenses&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,733&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,069&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:53.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total stock-based compensation&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4,027&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,283&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair Value of Financial Instruments&#160;&lt;/b&gt;- The carrying amounts of financial instruments approximated their fair value as of December 31, 2023 and 2022, because of the relatively short maturity of these instruments. See Note&#160;16, Derivatives.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;Fair value measurements and disclosures define fair value as the price that would be received for an asset or paid to transfer a liability (an exit price) in the principal or most advantageous market for the asset or liability in an orderly transaction between market participants on the measurement date.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The accounting standard establishes a fair value hierarchy that prioritizes the inputs used to measure fair value into three levels. The three levels are defined as follows:&lt;/p&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="width:18pt;"&gt;&lt;/td&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;&#x25cf;&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;i style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:italic;font-weight:normal;"&gt;Level 1&lt;/i&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"&gt;: Unadjusted quoted price in active market for identical assets and liabilities.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="width:18pt;"&gt;&lt;/td&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;&#x25cf;&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;i style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:italic;font-weight:normal;"&gt;Level 2:&lt;/i&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"&gt; Inputs other than those included in Level 1 that are observable for the asset or liability, either directly or indirectly, such as quoted prices for similar assets or liabilities; quoted prices in markets that are not active; or other inputs that are observable or can be corroborated by observable market data for substantially the full term of the assets or liabilities.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="width:18pt;"&gt;&lt;/td&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;&#x25cf;&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;i style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:italic;font-weight:normal;"&gt;Level 3:&lt;/i&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"&gt; Unobservable inputs reflecting management&#x2019;s own assumptions about the inputs used in pricing the asset or liability.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="margin-top:10pt;"&gt;&lt;/div&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company&#x2019;s forward contracts are at level 2 in the fair value hierarchy.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Income (Loss) per Share&#160;&lt;/b&gt;- Income (loss) per share is computed using the weighted-average number of common shares outstanding during the&#160;year. Diluted income (loss) per share is computed by considering the impact of the potential issuance of common shares, using the treasury stock method, on the weighted average number of shares outstanding. For those securities that are not convertible into a class of common stock, the &#x201c;two class&#x201d; method of computing income (loss) per share is used.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Pension&#160;- &lt;/b&gt;The Company records annual pension costs based on calculations, which include various actuarial assumptions including discount rates, compensation increases and other assumptions involving demographic factors. The Company reviews its actuarial assumptions on an annual basis and makes modifications to the assumptions based on current rates and trends. The Company believes that the assumptions used in recording its pension obligations are reasonable based on its experience, market conditions and inputs from its actuaries.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Deferred Revenue&#160;&lt;/b&gt;- Deferred revenue represents payments received from customers in advance of providing services and amounts deferred if conditions for revenue recognition have not been met. Included in Accrued expenses and other on the accompanying consolidated balance sheets is deferred revenue amounting to $3.5 million and $4.4 million as of December 31, 2023 and 2022, respectively. We expect to recognize substantially all of these performance obligations over the next 12 months.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The table below provides information about contract liabilities (deferred revenue) and the significant changes in the balance for the years ended December 31, 2023 and 2022, respectively (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:75.79%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:21.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;white-space:pre-wrap;"&gt;    &lt;/b&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;white-space:pre-wrap;"&gt;    &lt;/b&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Balance at January 1&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4,366&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4,509&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net deferred revenue in the period&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 21,619&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 29,756&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Revenue recognized&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (22,586)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (29,618)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Currency translations and other adjustments&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 124&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (281)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Balance at December 31&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,523&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4,366&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Recent Accounting Pronouncements&#160;- &lt;/b&gt;On November 27, 2023, the FASB issued Accounting Standards Update (ASU) No. 2023-07, &#x201c;Improvements to Reportable Segment Disclosures,&#x201d;. The ASU&#x2019;s effective date is for fiscal years beginning after December 15, 2023. The adoption of the ASU 2023-07 will enhance expense disclosures in segment reporting and other qualitative disclosures and allows for disclosing multiple measures of segment profit or loss. The Company does not expect any significant impact from the adoption of this standard.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;On December 14, 2023, the FASB issued ASU No. 2023-09, &#x201c;Income Taxes (Topic 740): Improvements to Income Tax Disclosures&#x201d;. The ASU&#x2019;s effective date is for fiscal years beginning after December 15, 2024. The adoption of the ASU 2023-09 will enhance quantitative and qualitative disclosures related to rate reconciliation of significant components and income tax paid. The Company does not expect any significant impact from the adoption of this standard.&lt;/p&gt;</us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock>
    <us-gaap:BusinessCombinationsPolicy
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tb_q76COYtk2U2JD6EeS8XRvw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Description of Business&lt;/b&gt; - Innodata Inc. (NASDAQ: INOD) (including its subsidiaries, the &#x201c;Company&#x201d;, &#x201c;Innodata&#x201d;, &#x201c;we&#x201d;, &#x201c;us&#x201d; or &#x201c;our&#x201d;) is a leading data engineering company. The Company&#x2019;s mission is to help the world&#x2019;s most prestigious companies deliver the promise of ethical, high-performing artificial intelligence (&#x201c;AI&#x201d;), which the Company believes will contribute to a safer and more prosperous world.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company was founded on a simple idea: engineer the highest quality data so organizations across broad industry segments could make smarter decisions. Today, the Company believes it is delivering the highest quality data for some of the world&#x2019;s most innovative technology companies to use to train the AI models of the future.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;AI holds the promise that computers can perceive and understand the world, enabling products and services that would have been previously unimaginable and impossible with traditional coding. AI learns from data, and the highest-performing AI will have learned from the highest-quality data. The Company believes that it can contribute meaningfully by harnessing its capabilities, honed over 30 years, in collecting and annotating data at scale with consistency and high accuracy.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company is also helping companies deploy and integrate AI into their operations and products and providing innovative AI-enabled industry platforms, helping ensure that its customers&#x2019; businesses are prepared for a world in which machines augment human activity in ways previously unimaginable. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company developed its capabilities and honed its approaches progressively over the last 30 years creating high-quality data for many of the world&#x2019;s most demanding information companies. Approximately eight years ago, the Company formed Innodata Labs, a research and development center, to research, develop and apply machine learning and emerging AI to its large-scale, human-intensive data operations. In 2019, the Company began packaging the capabilities that emerged from its R&amp;amp;D efforts in order to align with several fast-growing new markets and help companies use AI/ML to drive performance benefits and business insights.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company&#x2019;s historical core competency in high-quality data, combined with these R&amp;amp;D efforts in applied AI, created the foundation for the evolution of the Company&#x2019;s offerings, which include AI Data Preparation, AI Model Deployment and Integration, and AI-Enabled Industry Platforms.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;AI Data Preparation&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;For several of the world&#x2019;s large technology companies, the Company supports their efforts at building generative AI foundation models. For these companies, the Company provides or is poised to provide a range of scaled data solutions and services. The Company&#x2019;s scaled data solutions include providing instruction data sets for fine-tuning LLMs to understand prompts, to accept instruction, to converse, to apparently reason, and to perform the myriad of incredible feats that many of us have now experienced. The Company also provides reinforcement learning and reward modeling, services which are critical to provide the guardrails against toxic, bias and harmful responses, and model evaluation services. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;For social media companies, robotics companies, financial services companies, and many others, the Company collects or creates training data, annotates training data, and trains AI algorithms for working with images, text, video, audio, code and sensor data. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company utilizes a variety of leading third-party tools, proprietary tools and customer tools. For text annotation, the Company uses its proprietary data annotation platform that incorporates AI to reduce cost while improving consistency and quality of output. The Company&#x2019;s proprietary data annotation platform features auto-tagging capabilities that apply to both classical and generative AI tasks. The platform encapsulates many of the innovations the Company has conceived of in the course of its 30-year history of creating high-quality data.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;In addition, because collecting real-world data is often impracticable (due to data privacy regulations or rarity of cohorts and outliers), the Company creates high-quality synthetic data that maintains all of the statistical properties of real-world data, using a combination of domain specialists and machine technologies that leverage large language models (LLMs).&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;AI Model Deployment and Integration&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company helps businesses leverage the latest AI technologies to achieve their goals. The Company develops custom AI models (where it selects the appropriate algorithms, tunes hyperparameters, trains and validates the models, and updates the models as required). The Company also helps businesses fine-tune their own custom versions of the Company&#x2019;s proprietary models and third-party foundation models to address domain-specific and customer-specific use cases.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;For the Company&#x2019;s customers that provide products and solutions that require intensive text data processing and analytics, in addition to deploying and integrating AI models, the Company often provides a range of data engineering support services including data transformation, data curation, data hygiene, data consolidation, data extraction, data compliance, and master data management.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company&#x2019;s customers span a diverse range of industries and a wide range of AI use cases, benefiting from the short time-to-value and high economic returns of the Company&#x2019;s AI solutions and platforms.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;AI-Enabled Industry Platforms&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company&#x2019;s AI-enabled industry platforms address specific, niche market requirements the Company believes it can innovate with AI/ML technologies. The Company deploys these industry platforms as software-as-a-service (SaaS) and as managed services. These platforms benefit from the Company&#x2019;s technology infrastructure, its industry-specific knowledge, its strong customer relationships and experience merging technology with the business processes of its customers. To date, the Company has built an industry platform for medical records data extraction and transformation (which the Company brands as &#x201c;Synodex&lt;sup style="font-size:8.25pt;line-height:100%;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;top:0pt;vertical-align:top;"&gt;&#xae;&lt;/sup&gt;&#x201d;) and an industry platform for public relations (which the Company brands as &#x201c;Agility PR Solutions&#x201d;). The Company is in development with an additional AI-enabled industry platform to serve financial services institutions.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company&#x2019;s Synodex industry platform transforms medical records into useable digital data organized in accordance with its proprietary data models or customer data models. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company&#x2019;s Agility industry platform provides marketing communications and public relations professionals with the ability to target and distribute content to journalists and social media influencers world-wide and to monitor and analyze global news (print, web, radio and TV) and social media.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company&#x2019;s operations are presently classified and reported in three reporting segments: Digital Data Solutions (DDS), Synodex and Agility.&lt;/p&gt;</us-gaap:BusinessCombinationsPolicy>
    <us-gaap:NumberOfReportableSegments
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="INF"
      id="Narr_dnv5kG_79UyPB_BgU88QFA"
      unitRef="Unit_Standard_segment_ZgNiCSukjkyW3Oz99w8UqQ">3</us-gaap:NumberOfReportableSegments>
    <us-gaap:ConsolidationPolicyTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tb_Hyuwjh1ND0yCm3G9_vxxdw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Principles of Consolidation &lt;/b&gt;-&lt;b style="font-weight:bold;"&gt; &lt;/b&gt;The consolidated financial statements include the accounts of Innodata Inc. and its wholly owned subsidiaries, and docGenix, a limited liability company that is majority-owned by the Company. The non-controlling interests in the docGenix limited liability company have call and put options that can be settled in cash or stock. Accordingly, this is presented in temporary equity in accordance with Financial Accounting Standards Board (FASB) non-controlling interest guidance. All intercompany transactions and balances have been eliminated in consolidation.&lt;/p&gt;</us-gaap:ConsolidationPolicyTextBlock>
    <us-gaap:UseOfEstimates
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tb_a3MZh9zW_UOX_VG4Lz6d0Q">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Use of Estimates&#160;&lt;/b&gt;- In preparing consolidated financial statements in conformity with U.S. GAAP, management is required to make estimates and assumptions that affect the reported amounts of assets and liabilities, the disclosure of contingent assets and liabilities as of the date of the consolidated financial statements, and the reported amounts of revenues and expenses during the reporting period. Management believes that the estimates used in the preparation of the consolidated financial statements are reasonable. Actual results could differ from those estimates. Significant estimates include those related to the allowance for doubtful accounts and billing adjustments, useful life of long-lived assets, useful life of intangible assets, impairment of goodwill and intangible assets, valuation of deferred tax assets, valuation of stock-based compensation, pension benefit plan assumptions, litigation accruals and estimated accruals for various tax exposures.&lt;/p&gt;</us-gaap:UseOfEstimates>
    <us-gaap:RevenueRecognitionPolicyTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tb__T-Mkbk1xUW2AbVi7SY8sw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Revenue Recognition&#160;&lt;/b&gt;- The Company&#x2019;s revenue is recognized when services are rendered or goods are delivered to a customer, in an amount that reflects the consideration that the Company expects to receive in exchange for those services or goods as per the agreement with the customer. In cases where there are agreements with multiple performance obligations, the Company identifies each performance obligation and evaluates whether the performance obligations are distinct within the context of the agreement at the agreement&#x2019;s inception. Performance obligations that are not distinct at agreement inception are combined. For agreements with distinct performance obligations, the Company allocates the transaction price to each distinct performance obligation proportionately based on the estimated standalone selling price for each performance obligation, if any, and then evaluates how the services are performed for the customer to determine the timing of revenue recognition.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;For the Digital Data Solutions (DDS) segment, revenue is recognized primarily based on the quantity delivered or resources utilized in the period in which services are performed and performance conditions are satisfied as per the agreement. Revenue from agreements billed on a time-and-materials basis is recognized as services are performed. Revenue from fixed-fee agreements, which is not significant to overall revenues, is recognized based on the proportional performance method of accounting, as services are performed, or milestones are achieved.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;For the Synodex segment, revenue is recognized primarily based on the quantity delivered in the period in which services are performed and performance conditions are satisfied as per the agreement. A portion of the Synodex segment revenue is derived from licensing the Company&#x2019;s functional software and providing access to the Company&#x2019;s hosted software platform. Revenue from such services is recognized monthly when all parties to the agreement have agreed to the agreement; each party&#x2019;s rights are identifiable; the payment terms are identifiable; the agreement has commercial substance; access to the service is provided to the end user; and collection is probable.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Agility segment derives its revenue primarily from subscription arrangements and provision of enriched media analysis services. It also derives revenue as a reseller of corporate communication solutions. Revenue from subscriptions is recognized monthly when access to the service is provided to the end user; all parties to the agreement have agreed to the agreement; each party&#x2019;s rights are identifiable; the payment terms are identifiable; the agreement has commercial substance; and collection is probable. Revenue from enriched media analysis services is recognized when the services are performed, and performance conditions are satisfied. Revenue from the reseller agreements is recognized at the gross amount received for the goods in accordance with the Company functioning as a principal due to the Company meeting the following criteria: the Company acts as the primary obligor in the sales transaction; assumes the credit risk; sets the price; can select suppliers; and is involved in the execution of the services, including after sales service.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;Revenue includes reimbursement of out-of-pocket expenses, with the corresponding out-of-pocket expenses included in direct operating costs.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;Revenue associated with the services provided in one period and billed in a subsequent period is commonly referred to as unbilled revenues and is included under Accounts receivable.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company considers U.S. GAAP criteria for determining whether to report gross revenue as a principal versus net revenue as an agent. The Company evaluates whether it is in control of the services before the same are transferred to the customer to assess whether it is principal or agent in the arrangement.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"&gt;Contract acquisition costs, which are included in prepaid expenses and other current assets, are amortized over the term of a subscription agreement or contract that normally has a duration of 12 months or less. The Company reviews these prepaid acquisition costs on a periodic basis to determine the need to adjust the carrying values for early terminated contracts. Included in prepaid expenses and other current assets on the accompanying consolidated balance sheets are contract acquisition costs amounting to $0.8 million for each of the years ended December 31, 2023 and 2022. These acquisition costs relate to our Agility segment and are amortized over the term of the subscription agreement which normally has a duration of 12 months or less.&lt;/p&gt;</us-gaap:RevenueRecognitionPolicyTextBlock>
    <us-gaap:CapitalizedContractCostAmortizationPeriod
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      id="Narr_n_9G0_EoEkyst_7MeUE2aw">P12M</us-gaap:CapitalizedContractCostAmortizationPeriod>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-5"
      id="Narr_FABMKZqqX0-xg1mzta4svQ"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">800000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-5"
      id="Narr_jlDuECnkLUCh7nSmhRpoYg"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">800000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets>
    <us-gaap:CapitalizedContractCostAmortizationPeriod
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      id="Narr_Se204Sk5hEOb5mJz2hcfXQ">P12M</us-gaap:CapitalizedContractCostAmortizationPeriod>
    <us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tb_x2yG6kWKLUuh81ySJtkQeg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Foreign Currency Translation&#160;&lt;/b&gt;- The functional currency of the Company&#x2019;s subsidiaries in the Philippines, India, Sri Lanka, Israel, Hong Kong, the United Kingdom and Canada (other than the Agility subsidiaries) is the U.S. dollar. Transactions denominated in Philippine pesos, Indian and Sri Lankan rupees, Israeli shekels, United Kingdom pound sterling and Canadian dollars are translated to U.S. dollars at rates which approximate those in effect on the transaction dates. Monetary assets and all liabilities denominated in foreign currencies on December 31, 2023 and December 31, 2022 are translated at the exchange rate in effect as of those dates. Non-monetary assets and stockholders&#x2019; equity are translated at the appropriate historical rates. Included in direct operating costs were foreign exchange losses (gains) resulting from such translations of approximately $0.4 million and ($1.3) million for the&#160;years ended December 31, 2023 and 2022, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The functional currency for the Company&#x2019;s subsidiary in Germany is the Euro. The functional currencies for the Company&#x2019;s Agility subsidiaries in the United Kingdom and Canada are the Pound Sterling and the Canadian dollar, respectively. The financial statements of these subsidiaries are prepared in their respective currencies. Financial information is translated from the applicable functional currency to the U.S. dollar (the reporting currency) for inclusion in the Company&#x2019;s consolidated financial statements. Income, expenses, and cash flows are translated at weighted-average exchange rates prevailing during the fiscal period, and assets and liabilities are translated at fiscal period-end exchange rates. Resulting translation adjustments are included as a component of accumulated other comprehensive loss in stockholders&#x2019; equity. Foreign exchange transaction gains or losses are included in direct operating costs in the accompanying consolidated statements of operations and comprehensive loss.&lt;/p&gt;</us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-5"
      id="Narr_HCYBHd4TrUOJhvvx3sgIxQ"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-400000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-5"
      id="Narr_DrlUKEatdEOqmtZdxjWWkA"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">1300000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
    <us-gaap:DerivativesPolicyTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tb_SgnvlNetrU6LBhjsp-UTNA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;min-height:12.0pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Derivative Instruments&#160;- &lt;/b&gt;The Company accounts for derivative transactions in accordance with the FASB&#x2019;s Accounting Standards Codification (&#x201c;ASC&#x201d;) Topic 825, &#x201c;Financial Instruments&#x201d;. For derivative instruments that are designated and qualify as cash flow hedges, the entire change in fair value of the hedging instrument is recorded in Other comprehensive income (loss). When the amounts recorded in Other comprehensive income (loss) are reclassified to earnings, they are included as part of Direct operating costs. For derivative instruments that are not designated as hedges, any change in fair value is recorded directly in earnings as part of Direct operating costs. The total notional value of designated outstanding foreign currency forward contracts was $10.5 million and $14.2 million as of December 31, 2023 and 2022, respectively.&lt;/p&gt;</us-gaap:DerivativesPolicyTextBlock>
    <us-gaap:ForeignCurrencyContractAssetFairValueDisclosure
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-5"
      id="Narr_TbbyhwAfUUuCEBCWEa7g6w"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">10500000</us-gaap:ForeignCurrencyContractAssetFairValueDisclosure>
    <us-gaap:ForeignCurrencyContractAssetFairValueDisclosure
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-5"
      id="Narr_x_XyTJI46U2Fqw-On8rn-g"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">14200000</us-gaap:ForeignCurrencyContractAssetFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsPolicyTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tb_3Hb6945jTECwbuOwbDBifw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Cash Equivalents&#160;- &lt;/b&gt;For financial statement purposes, the Company considers all highly liquid instruments purchased with an original maturity of three&#160;months or less to be cash equivalents.&lt;/p&gt;</us-gaap:CashAndCashEquivalentsPolicyTextBlock>
    <us-gaap:InvestmentPolicyTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tb_55XfeAd_ZEKc8W-O4-PYKA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Short term Investments-other&#160;- &lt;/b&gt;For financial statement purposes, the Company considers investments made in time deposits and treasury bills having an original maturity of more than three months but less than one year from the balance sheet date under short term investments.&lt;/p&gt;</us-gaap:InvestmentPolicyTextBlock>
    <us-gaap:ConcentrationRiskCreditRisk
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tb_kRsYsQDNwk2kum8AANC6Jw">&lt;b style="font-weight:bold;"&gt;Concentration of Credit Risk&#160;-&lt;/b&gt; The Company maintains its cash with highly rated financial institutions, located in the United States and in foreign locations where the Company has its operations. At December 31, 2023, the Company had cash and cash equivalents of $13.8 million, of which $6.5 million was held by its foreign subsidiaries and $7.3 million </us-gaap:ConcentrationRiskCreditRisk>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-5"
      id="Narr_6Id9yh3vuUu4PycdNj5jrA"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">13800000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2023_srt_StatementGeographicalAxis_srt_AsiaMember_d4ka6TsD6EKK9ur-xGhFZg"
      decimals="-5"
      id="Narr_CaOk3khTI0CbxiCiEcWRxA"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">6500000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_US_8DT353cHtEa626yJajOM5Q"
      decimals="-5"
      id="Narr_H1XJNiU3CECiYO09VEiN5A"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">7300000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:TradeAndOtherAccountsReceivablePolicy
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tb_VG_sXRcx4Ua_GvxHRdLwug">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Accounts Receivable&#160;-&lt;/b&gt; Accounts receivable is generally recorded at the invoiced amounts, net of an allowance for expected losses. The Company establishes credit terms for new customers based upon management&#x2019;s review of their credit information and project terms, and performs ongoing credit evaluations of its customers, adjusting credit terms when management believes appropriate based upon payment history and an assessment of the customer&#x2019;s current creditworthiness.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;We record an allowance for credit losses for estimated losses resulting from the failure of our customers to make the required payments and provisions for billing adjustments relating to quality issues on delivered services. The allowance for credit losses is based on a review of specifically identified accounts and an overall aging analysis applied to accounts pooled based on similar risk characteristics. Judgments are made with respect to the collectability of accounts receivable within each pool based on historical experience, current payment practices, and current economic trends based on our expectations over the expected life of the receivables, generally ninety days or less. Actual credit losses could differ from those estimates.&lt;/p&gt;</us-gaap:TradeAndOtherAccountsReceivablePolicy>
    <us-gaap:PropertyPlantAndEquipmentPolicyTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tb_4BB_2nHbGEOlR_0iBOMlkA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Property and Equipment&lt;/b&gt;&#160;&lt;b style="font-weight:bold;"&gt;- &lt;/b&gt;Property and equipment are stated at cost and are depreciated on the straight-line method over the estimated useful lives of the related assets, which is generally &lt;span style="-sec-ix-hidden:Hidden_yGJN2FqFVEawQJWZoFoh0w;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"&gt;two&lt;/span&gt;&lt;/span&gt; to &lt;span style="-sec-ix-hidden:Hidden_qOPG7XoMf06lp7FpqgoXEQ;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"&gt;ten&#160;years&lt;/span&gt;&lt;/span&gt;. Leasehold improvements are amortized on a straight-line basis over the shorter of their estimated useful lives or the terms of the leases. Certain assets under capital leases are amortized over the lives of the respective leases or the estimated useful lives of the assets, whichever is shorter.&lt;/p&gt;</us-gaap:PropertyPlantAndEquipmentPolicyTextBlock>
    <us-gaap:ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tb_WSL7J1NId02suwfbwBpZzw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Capitalized Developed Software - &lt;/b&gt;The Company incurs development costs related to software it develops for its internal use. Qualifying costs incurred during the application development stage are capitalized. These costs primarily consist of internal labor and third-party development costs and are amortized using the straight-line method over the estimated useful life of the capitalized developed software, which generally ranges from &lt;span style="-sec-ix-hidden:Hidden_JLLJiYyuKkqFRS0YKxa3_A;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"&gt;three&lt;/span&gt;&lt;/span&gt; to ten years. All other research and maintenance costs are expensed as incurred. Capitalized developed software in progress as of December 31, 2023 and 2022 were $3.5 million and $2.8 million, respectively. The cumulative completed capitalized developed software as of December 31, 2023 and 2022 was $15.2 million and $11.8 million, respectively.&lt;/p&gt;</us-gaap:ResearchDevelopmentAndComputerSoftwareDisclosureTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="As_Of_12_31_2023_srt_RangeAxis_srt_MaximumMember_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_SoftwareDevelopmentMember_UurneqD0Bk2FpWMKYsPoRg"
      id="Narr_oOd6UYI20kK02bGIC3vKSA">P10Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization
      contextRef="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_InProcessResearchAndDevelopmentMember_TwbDqKD0eEyEA6rPyTwn0Q"
      decimals="-5"
      id="Narr_seyZisH9n0WprXmwH0qdKQ"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">3500000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization
      contextRef="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_InProcessResearchAndDevelopmentMember_md_cXI5wp06jm59RmeLnXg"
      decimals="-5"
      id="Narr_W4w1mZF-bkaZj9TvPkVqbw"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">2800000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization
      contextRef="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_SoftwareDevelopmentMember_mht7vH8tKUef5L-G47g2nw"
      decimals="-5"
      id="Narr_Aa0McVOmkkmfL9oXAD8CeA"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">15200000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization
      contextRef="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_SoftwareDevelopmentMember_il3Kp-1yYEuSazF6g0FVOQ"
      decimals="-5"
      id="Narr_zBy6xMiJ20SaHEEFXqPGDA"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">11800000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tb_sWvdUa2PvUKQHsj17tegUg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Long-lived Assets&#160;-&lt;/b&gt; Management assesses the recoverability of its long-lived assets, whenever events or changes in circumstances indicate that the carrying value may not be recoverable. The following factors, if present, may trigger an impairment&#160;review: (i)&#160;significant&#160;underperformance relative to expected historical or projected future operating results; (ii)&#160;significant negative industry&#160;or&#160;economic&#160;trends; (iii)&#160;significant decline in the Company&#x2019;s stock price&#160;for&#160;a&#160;sustained&#160;period;&#160;and&#160;(iv)&#160;a&#160;change&#160;in the Company&#x2019;s market capitalization relative to net book value. If the recoverability of these assets is unlikely because&#160;of&#160;the&#160;existence&#160;of one or more of the above-mentioned factors, an&#160;impairment analysis is performed, using undiscounted cash flow&#160;projections. Management makes assumptions regarding estimated future cash flows and other factors to determine the fair value of these respective assets. An impairment loss will be recognized only if the carrying value of a long-lived asset is not recoverable and exceeds its fair value and is measured as the amount by which the carrying amount of a long-lived asset exceeds its fair value.&lt;/p&gt;</us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock>
    <us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tb_9GPFJLBaSEe-92q8XPRDIg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Goodwill and Other Intangible Assets&lt;/b&gt;&#160;&lt;b style="font-weight:bold;"&gt;- &lt;/b&gt;The Company performs a valuation of assets acquired and liabilities assumed on each acquisition accounted for as a business combination and allocates the purchase price of each acquired business to its respective net tangible and intangible assets and liabilities. Acquired intangible assets principally consist of technology, customer relationships, backlog and trademarks, having useful lives which range from &lt;span style="-sec-ix-hidden:Hidden_qjmnNajey0O1TLxVoiF3kA;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"&gt;ten&lt;/span&gt;&lt;/span&gt; to twelve years. The Company determines the appropriate useful life by performing an analysis of expected cash flows based on projected financial information of the acquired businesses. Intangible assets are amortized over their estimated useful lives using the straight-line method, which approximates the pattern in which the majority of the economic benefits are expected to be consumed. Intangible assets are amortized into direct operating costs ratably over their expected related revenue streams over their useful lives.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;Goodwill represents the excess of the cost of an acquired entity over the fair value of the acquired net assets. The Company does not amortize goodwill but evaluates it for impairment at the reporting unit level annually during the third quarter of each fiscal&#160;year (as of September&#160;30 of that year) or when an event occurs, or circumstances change, that indicates the carrying value may not be recoverable.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company performed its annual goodwill assessment for the Agility segment as of September 30, 2023 for impairment. The impairment test involves estimating the fair value based on a combination of income (estimates of future discounted cash flows) and the market approach (market multiples for similar companies) using unobservable inputs (Level 3). The Company concluded that there is no impairment of goodwill for the Agility segment.&lt;/p&gt;</us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="As_Of_12_31_2023_srt_RangeAxis_srt_MaximumMember_PIfZGM-P3EK34TOf7oCTgw"
      id="Narr_7uduMZUZcEGKaz0HND7g-g">P12Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:IncomeTaxPolicyTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tb_vncaajNfVEm7BYbNw-cukA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Income Taxes&#160;&lt;/b&gt;- Estimated deferred taxes are determined based on the difference between the financial statement and tax basis of assets and liabilities, using enacted tax rates, as well as any net operating loss or tax credit carryforwards expected to reduce taxes payable in future&#160;years. A valuation allowance is provided when it is more likely than not that all or some portion of the estimated deferred tax assets will not be realized. While the Company considers future taxable income in assessing the need for the valuation allowance, in the event that the Company anticipates that it will be able to realize the estimated deferred tax assets in the future in excess of its net recorded amount, an adjustment to the provision for deferred tax assets would increase income in the period such determination was made. Similarly, in the event that the Company anticipates that it will not be able to realize the estimated deferred tax assets in the future considering future taxable income, an adjustment to the provision for deferred tax assets would decrease income in the period such determination was made. Changes in the valuation allowance from period to period are included in the Company&#x2019;s tax provision in the period of change. The Company indefinitely reinvests the foreign earnings in its foreign subsidiaries. If such earnings are repatriated in the future, or are no longer deemed to be indefinitely reinvested, the Company would have to accrue as a liability the applicable amount of foreign jurisdiction withholding taxes associated with such remittances.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;In assessing the realization of deferred tax assets, management considered whether it is more likely than not that all or some portion of the U.S. and Canadian deferred tax assets will not be realizable. As the expectation of future taxable income resulting from the Synodex and Agility segments cannot be predicted with certainty, the Company maintains a valuation allowance against all the United States, Canadian and European (principally Germany and the United Kingdom) net deferred tax assets.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"&gt;The Company accounts for income taxes regarding uncertain tax positions, and recognizes interest and penalties related to uncertain tax positions in income tax expense in the consolidated statements of operations and comprehensive loss.&lt;/p&gt;</us-gaap:IncomeTaxPolicyTextBlock>
    <us-gaap:LessorLeasesPolicyTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tb_BZFCyrqW_kmjXS0iDFcawg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Accounting for Leases&#160;&lt;/b&gt;-&lt;b style="font-weight:bold;"&gt; &lt;/b&gt;Accounting Standards for Codifications (ASC 842 &#x201c;Accounting for Leases&#x201d;) requires lessees to recognize most leases on their balance sheets as liabilities, with corresponding &#x201c;right-of-use&#x201d; assets. The Company recognizes a right-of-use asset and corresponding lease liability for all its operating leases. See Note 9, Operating Leases.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The determination of whether an arrangement is, or contains, a lease is based on the substance of the arrangement at the inception date and requires an assessment of whether the fulfillment of the arrangement is dependent on the use of a specific asset or assets, or the arrangement conveys a right to use the asset. A reassessment is made after inception of the lease only if one of the following applies:&lt;/p&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="width:18pt;"&gt;&lt;/td&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;a.&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"&gt;there is a change in contractual terms, other than a renewal or extension of the arrangement; &lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="width:18pt;"&gt;&lt;/td&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;b.&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"&gt;a renewal option is exercised, or extension granted, unless the term of the renewal or extension was initially included in the lease term; &lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:10pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="width:18pt;"&gt;&lt;/td&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;c.&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"&gt;there is a change in the determination of whether fulfillment is dependent on a specified asset; or &lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="width:18pt;"&gt;&lt;/td&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;d.&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"&gt;there is a substantial change to the asset. &lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="margin-top:10pt;"&gt;&lt;/div&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;Whenever a reassessment is made, lease accounting shall commence or cease from the date when the change in circumstances gave rise to the reassessment for scenarios (a), (c) or (d) and at the date of renewal or extension period for scenario (b).&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"&gt;Leases where the lessor retains substantially all the risks and rewards of ownership are classified as operating leases. As of December 31, 2023, all of the Company&#x2019;s leases are classified under operating leases. Operating lease payments are recognized as an operating expense on a straight-line basis over the lease term.&lt;/p&gt;</us-gaap:LessorLeasesPolicyTextBlock>
    <us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tb_j1zG5MH3okCvrPcwCv3gkw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Accounting for Stock-Based Compensation&#160;-&lt;/b&gt; The Company measures and recognizes stock-based compensation expense for all share-based payment awards made to employees and directors based on the estimated fair value at the grant date. The stock-based compensation expense is recognized over the requisite service period. The fair value of stock option grants is determined using the Black-Scholes option-pricing model and the fair value of restricted stock units is determined using the Binomial option pricing model. For restricted stock units which are time vested, the fair value is determined based on the grant date fair value.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The stock-based compensation expense related to the Company&#x2019;s stock plans were allocated as follows (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:50%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:53.81%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.51%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.18%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.62%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:53.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:42.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year&#160;Ended&#160;December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:53.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:53.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Direct operating costs&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 294&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 214&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:53.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Selling and administrative expenses&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,733&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,069&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:53.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total stock-based compensation&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4,027&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,283&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy>
    <us-gaap:ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tb_Gs7-8q9RvU-CUPIUNZ447Q">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The stock-based compensation expense related to the Company&#x2019;s stock plans were allocated as follows (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:50%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:53.81%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.51%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.18%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.62%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:53.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:42.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year&#160;Ended&#160;December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:53.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:53.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Direct operating costs&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 294&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 214&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:53.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Selling and administrative expenses&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,733&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,069&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:53.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total stock-based compensation&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4,027&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.62%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,283&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock>
    <us-gaap:StockOptionPlanExpense
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_EZK5k2887km5B3rDhLCWLg_3_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">294000</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockOptionPlanExpense
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_bAaPkIk8T0SJKJSwpKJWmA_3_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">214000</us-gaap:StockOptionPlanExpense>
    <us-gaap:OtherSellingGeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_cRQhpgC7gUWqmkFBEZQ7kg_4_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">3733000</us-gaap:OtherSellingGeneralAndAdministrativeExpense>
    <us-gaap:OtherSellingGeneralAndAdministrativeExpense
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_c164gK1jj0SHdkHhfIzl7w_4_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">3069000</us-gaap:OtherSellingGeneralAndAdministrativeExpense>
    <us-gaap:ShareBasedCompensation
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_Ldtb4mX_jkucLZkhhXFP7A_5_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">4027000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_jamsKgj0cEK2Xnz6g4apmA_5_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">3283000</us-gaap:ShareBasedCompensation>
    <us-gaap:FairValueOfFinancialInstrumentsPolicy
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tb_ZPZ1iUybGkGb6JYvplXrkQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair Value of Financial Instruments&#160;&lt;/b&gt;- The carrying amounts of financial instruments approximated their fair value as of December 31, 2023 and 2022, because of the relatively short maturity of these instruments. See Note&#160;16, Derivatives.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;Fair value measurements and disclosures define fair value as the price that would be received for an asset or paid to transfer a liability (an exit price) in the principal or most advantageous market for the asset or liability in an orderly transaction between market participants on the measurement date.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The accounting standard establishes a fair value hierarchy that prioritizes the inputs used to measure fair value into three levels. The three levels are defined as follows:&lt;/p&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="width:18pt;"&gt;&lt;/td&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;&#x25cf;&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;i style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:italic;font-weight:normal;"&gt;Level 1&lt;/i&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"&gt;: Unadjusted quoted price in active market for identical assets and liabilities.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="width:18pt;"&gt;&lt;/td&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;&#x25cf;&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;i style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:italic;font-weight:normal;"&gt;Level 2:&lt;/i&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"&gt; Inputs other than those included in Level 1 that are observable for the asset or liability, either directly or indirectly, such as quoted prices for similar assets or liabilities; quoted prices in markets that are not active; or other inputs that are observable or can be corroborated by observable market data for substantially the full term of the assets or liabilities.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="width:18pt;"&gt;&lt;/td&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:11pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;"&gt;&#x25cf;&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;i style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:italic;font-weight:normal;"&gt;Level 3:&lt;/i&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"&gt; Unobservable inputs reflecting management&#x2019;s own assumptions about the inputs used in pricing the asset or liability.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="margin-top:10pt;"&gt;&lt;/div&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company&#x2019;s forward contracts are at level 2 in the fair value hierarchy.&lt;/p&gt;</us-gaap:FairValueOfFinancialInstrumentsPolicy>
    <us-gaap:EarningsPerSharePolicyTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tb_aSWpehwx3kO4VKy9XIFn5g">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Income (Loss) per Share&#160;&lt;/b&gt;- Income (loss) per share is computed using the weighted-average number of common shares outstanding during the&#160;year. Diluted income (loss) per share is computed by considering the impact of the potential issuance of common shares, using the treasury stock method, on the weighted average number of shares outstanding. For those securities that are not convertible into a class of common stock, the &#x201c;two class&#x201d; method of computing income (loss) per share is used.&lt;/p&gt;</us-gaap:EarningsPerSharePolicyTextBlock>
    <us-gaap:PensionAndOtherPostretirementPlansPensionsPolicy
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tb_Q2PPCfKbOkSzB3Ua8j2JSw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Pension&#160;- &lt;/b&gt;The Company records annual pension costs based on calculations, which include various actuarial assumptions including discount rates, compensation increases and other assumptions involving demographic factors. The Company reviews its actuarial assumptions on an annual basis and makes modifications to the assumptions based on current rates and trends. The Company believes that the assumptions used in recording its pension obligations are reasonable based on its experience, market conditions and inputs from its actuaries.&lt;/p&gt;</us-gaap:PensionAndOtherPostretirementPlansPensionsPolicy>
    <us-gaap:RevenueFromContractWithCustomerPolicyTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tb_wZhEqF2g2U-IbKyNSg9Ilw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Deferred Revenue&#160;&lt;/b&gt;- Deferred revenue represents payments received from customers in advance of providing services and amounts deferred if conditions for revenue recognition have not been met. Included in Accrued expenses and other on the accompanying consolidated balance sheets is deferred revenue amounting to $3.5 million and $4.4 million as of December 31, 2023 and 2022, respectively. We expect to recognize substantially all of these performance obligations over the next 12 months.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The table below provides information about contract liabilities (deferred revenue) and the significant changes in the balance for the years ended December 31, 2023 and 2022, respectively (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:75.79%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:21.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;white-space:pre-wrap;"&gt;    &lt;/b&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;white-space:pre-wrap;"&gt;    &lt;/b&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Balance at January 1&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4,366&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4,509&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net deferred revenue in the period&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 21,619&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 29,756&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Revenue recognized&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (22,586)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (29,618)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Currency translations and other adjustments&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 124&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (281)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Balance at December 31&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,523&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4,366&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:RevenueFromContractWithCustomerPolicyTextBlock>
    <us-gaap:DeferredRevenue
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-5"
      id="Narr_LY9L_nX4zUaKu9P1idpd_w"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">3500000</us-gaap:DeferredRevenue>
    <us-gaap:DeferredRevenue
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-5"
      id="Narr_M_yiybhYz0m5LOBVI7rZNQ"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">4400000</us-gaap:DeferredRevenue>
    <us-gaap:DeferredRevenueByArrangementDisclosureTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tb_d2MepqkQ8kuluSh0Odfo_Q">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The table below provides information about contract liabilities (deferred revenue) and the significant changes in the balance for the years ended December 31, 2023 and 2022, respectively (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:75.79%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:21.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;white-space:pre-wrap;"&gt;    &lt;/b&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;white-space:pre-wrap;"&gt;    &lt;/b&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Balance at January 1&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4,366&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4,509&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net deferred revenue in the period&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 21,619&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 29,756&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Revenue recognized&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (22,586)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (29,618)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.79%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Currency translations and other adjustments&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 124&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (281)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.79%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Balance at December 31&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.28%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,523&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.49%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4,366&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:DeferredRevenueByArrangementDisclosureTextBlock>
    <us-gaap:DeferredRevenue
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_hqomhhHao0CSTw-m-TnyRg_3_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">4366000</us-gaap:DeferredRevenue>
    <us-gaap:DeferredRevenue
      contextRef="As_Of_12_31_2021_LPWzI6J5HECBN2kqx3f4aQ"
      decimals="-3"
      id="Tc_sSqvuRPIMkaPD6YD9rBlXw_3_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">4509000</us-gaap:DeferredRevenue>
    <us-gaap:DeferredRevenuePeriodIncreaseDecrease
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_hh6h4FUm3kGicMdnFnSaRA_4_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">21619000</us-gaap:DeferredRevenuePeriodIncreaseDecrease>
    <us-gaap:DeferredRevenuePeriodIncreaseDecrease
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_Sc7beX9KnUGrc_8zFOs6mw_4_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">29756000</us-gaap:DeferredRevenuePeriodIncreaseDecrease>
    <us-gaap:DeferredRevenueRevenueRecognized1
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_aKFhCWnvVkeegwKM351_Rg_5_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">22586000</us-gaap:DeferredRevenueRevenueRecognized1>
    <us-gaap:DeferredRevenueRevenueRecognized1
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_WEP3OteJHkOG0kTBj5VQUQ_5_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">29618000</us-gaap:DeferredRevenueRevenueRecognized1>
    <us-gaap:TemporaryEquityForeignCurrencyTranslationAdjustments
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_pCrx4KGNI0yVFtEJrUCKWg_6_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-124000</us-gaap:TemporaryEquityForeignCurrencyTranslationAdjustments>
    <us-gaap:TemporaryEquityForeignCurrencyTranslationAdjustments
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_rJLYmG0WfEGIixEdeBBYlw_6_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">281000</us-gaap:TemporaryEquityForeignCurrencyTranslationAdjustments>
    <us-gaap:DeferredRevenue
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_aWw_G1cUUkmCO_c1mtOJ-w_7_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">3523000</us-gaap:DeferredRevenue>
    <us-gaap:DeferredRevenue
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_PdixKkZ8SEGcCXoF2KjrUA_7_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">4366000</us-gaap:DeferredRevenue>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tb_SPFxHEqmREmQgHevmudziQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Recent Accounting Pronouncements&#160;- &lt;/b&gt;On November 27, 2023, the FASB issued Accounting Standards Update (ASU) No. 2023-07, &#x201c;Improvements to Reportable Segment Disclosures,&#x201d;. The ASU&#x2019;s effective date is for fiscal years beginning after December 15, 2023. The adoption of the ASU 2023-07 will enhance expense disclosures in segment reporting and other qualitative disclosures and allows for disclosing multiple measures of segment profit or loss. The Company does not expect any significant impact from the adoption of this standard.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;On December 14, 2023, the FASB issued ASU No. 2023-09, &#x201c;Income Taxes (Topic 740): Improvements to Income Tax Disclosures&#x201d;. The ASU&#x2019;s effective date is for fiscal years beginning after December 15, 2024. The adoption of the ASU 2023-09 will enhance quantitative and qualitative disclosures related to rate reconciliation of significant components and income tax paid. The Company does not expect any significant impact from the adoption of this standard.&lt;/p&gt;</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <inod:ShortTermInvestmentsOthersTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tb_nkLA9DFwzEiYKGp2V7yQfA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Short Term Investments - other&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;Short-term investments include investments made by the Company in treasury bills and certificates of deposit which are considered as highly liquid investments having an original maturity period of more than three months but less than one year from the balance sheet date.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:50%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:72.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.72%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.38%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Treasury bills&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 494&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Certificates of deposit&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.38%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.87%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.38%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 507&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</inod:ShortTermInvestmentsOthersTextBlock>
    <inod:ShortTermInvestmentsOtherReadilyMarketableTableTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tb_hnMEoN3aOEWgnHsfjfTKiw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:50%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:72.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.72%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.38%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Treasury bills&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 494&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Certificates of deposit&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.38%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.87%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.38%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 507&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</inod:ShortTermInvestmentsOtherReadilyMarketableTableTextBlock>
    <us-gaap:MoneyMarketFundsAtCarryingValue
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_P3aLWEt0ckC_yqaksiEvAA_4_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">494000</us-gaap:MoneyMarketFundsAtCarryingValue>
    <us-gaap:CertificatesOfDepositAtCarryingValue
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_-LXxt3viWkS1eRnabnBPDA_5_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">14000</us-gaap:CertificatesOfDepositAtCarryingValue>
    <us-gaap:CertificatesOfDepositAtCarryingValue
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_iCyYj6ZYMk24zNJsKwDFDQ_5_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">13000</us-gaap:CertificatesOfDepositAtCarryingValue>
    <us-gaap:OtherShortTermInvestments
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_jwkq_1B4aEifJPsOzSvcJA_7_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">14000</us-gaap:OtherShortTermInvestments>
    <us-gaap:OtherShortTermInvestments
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_6DwP9rzAzkOoVsdh5R_Snw_7_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">507000</us-gaap:OtherShortTermInvestments>
    <us-gaap:AccountsAndNontradeReceivableTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tb_8Jg9hMGCE0yTrX-GEpTjgg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;3.&lt;/b&gt; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&lt;b style="font-weight:bold;"&gt;Accounts Receivable&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-indent:36pt;margin:0pt;"&gt;Accounts receivable consists of the following:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:75.97%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.97%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:21.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.97%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;white-space:pre-wrap;"&gt;     &lt;/b&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.97%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Gross Accounts receivable&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.39%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,505&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.39%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,741&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.97%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Allowance for doubtful accounts&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,217)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,213)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.97%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Accounts receivable, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.39%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14,288&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.39%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,528&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;As of January 1, 2023 the Company has adopted ASU 2019-04, &#x201c;Codification Improvements to Topic 326, Financial Instruments - Credit Losses&#x201d;, and based on the Company&#x2019;s assessment there was no impact on the financial statements or other related disclosures. The basis of allowance for doubtful accounts is further elaborated in Note 1, &#x201c;Critical Accounting Policies and Estimates&#x201d; to the consolidated financial statements.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;Activity in the allowance for the credit losses for the year ended December 31, 2023 was as follows (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:77.93%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:77.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;For&#160;the&#160;Year&#160;Ended&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:77.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;December&#160;31,&#160;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:77.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Balance at January 1, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,213&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:77.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Additions charged to expense&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 426&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:77.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Write-offs against allowance&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (426)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:77.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Foreign currency translation adjustment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:77.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Balance at December 31, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,217&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:AccountsAndNontradeReceivableTextBlock>
    <us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tb_Q8UArr7_CECcaREyGQ6N3Q">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:75.97%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.1%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.97%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:21.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.97%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;white-space:pre-wrap;"&gt;     &lt;/b&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.97%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Gross Accounts receivable&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.39%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 15,505&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.39%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 10,741&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.97%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Allowance for doubtful accounts&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,217)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,213)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.97%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Accounts receivable, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.39%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 14,288&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.39%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 9,528&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock>
    <us-gaap:AccountsReceivableGrossCurrent
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_DZUxCoHVQ06wQ5fD7fDw9Q_3_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">15505000</us-gaap:AccountsReceivableGrossCurrent>
    <us-gaap:AccountsReceivableGrossCurrent
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_EIEUGXbxu0aHvFSGPO__Bg_3_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">10741000</us-gaap:AccountsReceivableGrossCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_NPG4CRREKEaBRIeo--Ru4Q_4_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">1217000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_84SpL6V01EKH1MXEZQds7g_4_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">1213000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_b3L1uijhx0q8wLeh6IWN6Q_5_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">14288000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_77K4QNaOHkGSNsoeTJck_g_5_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">9528000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tb_dxhHmRuyi0G3AF7hmkbCEQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;Activity in the allowance for the credit losses for the year ended December 31, 2023 was as follows (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:80%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:77.93%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:77.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;For&#160;the&#160;Year&#160;Ended&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:77.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;December&#160;31,&#160;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:77.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Balance at January 1, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,213&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:77.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Additions charged to expense&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 426&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:77.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Write-offs against allowance&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (426)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:77.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Foreign currency translation adjustment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:77.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Balance at December 31, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,217&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_I53xEZEETkeaCCr6RNa4mw_3_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">1213000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_runKOXP5H0OHQiZphZFr5Q_4_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">426000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_97GyZrWOOESIv59GfYS38Q_5_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">426000</us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs>
    <us-gaap:FinancingReceivableAllowanceForCreditLossForeignCurrencyTranslation
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_4DDcD9xCM0GDi-MdTnWsMw_6_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">4000</us-gaap:FinancingReceivableAllowanceForCreditLossForeignCurrencyTranslation>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_Oa-SGyz670Wnl47aVfx7aQ_7_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">1217000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tb_tc6QRDxyAk6qd7xQ6kDdLw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;"&gt;4.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Property and equipment&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;Property and equipment, which include amounts recorded under capital leases, are stated at cost less accumulated depreciation and amortization (in thousands), and consist of the following:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:68.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:28.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 11,315&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 12,391&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Computer software&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,465&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,447&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Furniture and equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,128&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,163&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Leasehold improvements&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,547&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,554&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Capital work-in-progress&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 434&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 19,889&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20,555&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Less: accumulated depreciation and amortization&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (17,608)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (18,044)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,281&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,511&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The estimated useful lives of the property and equipment range between two years and ten years. Depreciation and amortization expense of property and equipment were approximately $1.2 million for each of the years ended December 31, 2023 and 2022, respectively.&lt;/p&gt;</us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock>
    <us-gaap:PropertyPlantAndEquipmentTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tb_NJTSKZBMxEahrRUO8PRgUQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;Property and equipment, which include amounts recorded under capital leases, are stated at cost less accumulated depreciation and amortization (in thousands), and consist of the following:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:68.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:28.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 11,315&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 12,391&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Computer software&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,465&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,447&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Furniture and equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,128&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,163&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Leasehold improvements&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,547&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,554&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Capital work-in-progress&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 434&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 19,889&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 20,555&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Less: accumulated depreciation and amortization&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (17,608)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (18,044)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,281&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.32%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,511&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:PropertyPlantAndEquipmentTextBlock>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization
      contextRef="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_EquipmentMember_zzAXJJYIRU-phMDpp2ofCA"
      decimals="-3"
      id="Tc_eZjUvLWlJ0O3uDoi0iKrIg_3_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">11315000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization
      contextRef="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_EquipmentMember_DGXm8rAQtU6PwKu4QVVPCw"
      decimals="-3"
      id="Tc_2FoNz7a_UUuEqUXwpxtthw_3_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">12391000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization
      contextRef="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_NnKaqIz6W0S5bpyx7bFy3A"
      decimals="-3"
      id="Tc_tZs-2riackW1T-7OKFlMMA_4_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">4465000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization
      contextRef="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_F-3xW7ASn0K6WUWt9riFzw"
      decimals="-3"
      id="Tc_tEFmhZ5qgkKL_fbehlhE5A_4_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">4447000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization
      contextRef="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_j7fr2aREr0etiwWXPom1Cw"
      decimals="-3"
      id="Tc_F5yEL-7c3E2gQl31KAB-dQ_5_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">1128000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization
      contextRef="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_FurnitureAndFixturesMember_-p-SWorF4E-hN-AJEpD9kA"
      decimals="-3"
      id="Tc_ykP5U_Nn9EyBd9dv9H5hwg_5_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">1163000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization
      contextRef="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LeaseholdImprovementsMember_uzKSil1umEyaNihIikRvPA"
      decimals="-3"
      id="Tc_nIRnW_svmEOKmZvWyIPoBA_6_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">2547000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization
      contextRef="As_Of_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_LeaseholdImprovementsMember_hNIgnDPHqUCSTT89xv2amQ"
      decimals="-3"
      id="Tc_uOdkrwArskilJM-rKg0Rtw_6_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">2554000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization
      contextRef="As_Of_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_ConstructionInProgressMember_RaHGoRdNTE--bt8JibitXg"
      decimals="-3"
      id="Tc_6i0aLXvqC063Q3ELBjPAnw_7_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">434000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_pKGAruM04kejYJeHegwkDQ_8_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">19889000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_86p2hpQtQkqKeuQUoaDdMg_8_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">20555000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_RhqoLcNGm02HSd_DzurXgw_9_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">17608000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_ysBv9gGL8UO0gUzN159EcA_9_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">18044000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_SLjPJVBs3kWJo6TZP-hYrA_10_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">2281000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_MnKjy_InhEizoPa97VsVPQ_10_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">2511000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="As_Of_12_31_2023_srt_RangeAxis_srt_MinimumMember_YmaTx6N9qEuCsBJuq0OvGw"
      id="Narr_dxtX1jCBBUmd1ILgJgEQSA">P2Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="As_Of_12_31_2023_srt_RangeAxis_srt_MaximumMember_PIfZGM-P3EK34TOf7oCTgw"
      id="Narr_uj6J159t6keHgAs-M9oohQ">P10Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_PropertyPlantAndEquipmentMember_q1bRmTSSYkOD3HDGnkIF2Q"
      decimals="-5"
      id="Narr_6Lz7gl6ke0qlrEPSm79pzA"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">1200000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_us-gaap_PropertyPlantAndEquipmentMember_l3aWZIWm_0SZhUxTlhaGUA"
      decimals="-5"
      id="Narr_BtZcCCo4XUOjc3kbmy-aGQ"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">1200000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tb_CSjPpe1hVUCGPENz5-zwPg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;"&gt;5.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Goodwill and Intangible Assets&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The changes in the carrying amount of goodwill for the year ended December 31, 2023 were as follows (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:40%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:80.09%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.96%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:80.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Balance - January 1, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,038&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:80.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Foreign currency translation adjustment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 37&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:80.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Balance - December 31, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.96%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,075&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;As of September 30, 2023 the Company performed its annual goodwill impairment analysis on the Agility segment. It involved a quantitative goodwill impairment test and estimated the fair value based on a combination of the income approach (estimates of future discounted cash flows) and the market approach (market multiples for similar companies) using unobservable inputs (Level 3). The income approach uses a discounted cash flow (&#x201c;DCF&#x201d;) method that utilizes the present value of cash flows to estimate the segment&#x2019;s fair value. The future cash flows of the segment were projected based on the Company&#x2019;s estimates of future revenues, operating income, and other factors such as working capital and capital expenditures. As part of the DCF analysis, the Company projected revenue and operating profit and assumed long-term revenue growth rates in the terminal year. The market approach utilizes multiples of revenues and earnings before interest expense, taxes, depreciation, and amortization (&#x201c;EBITDA&#x201d;) to estimate the segment&#x2019;s fair value. The market multiples used for the segment were based on a group of comparable companies&#x2019; market multiples applied to the Company&#x2019;s revenue. The Company concluded that there is no impairment of goodwill.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The fair value measurement of goodwill for the Agility segment was classified within Level 3 of the fair value hierarchy because the Company used the income approach, which utilizes significant inputs that are unobservable in the market and the market multiple approaches using comparable entities to further validate the carrying values. The Company believes it made reasonable estimates and assumptions to calculate the fair value of the reporting unit as of the impairment test measurement date. The carrying value of Goodwill was $2.1 million and $2.0 million as of December 31, 2023, and 2022, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;Information regarding the Company acquired intangible assets and capitalized developed software was as follows (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;background:#ffff00;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.49%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.75%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:55.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Foreign&#160;Currency&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Gross&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Accumulated&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;Translation&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Net&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;white-space:pre-wrap;"&gt;     &lt;/b&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Carrying&#160;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;     &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amortization&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;     &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;Adjustment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;     &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Carrying&#160;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Acquired Intangible Assets&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.49%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Developed technology&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,999&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (2,640)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 366&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Customer relationships&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,096&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.49%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,645)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 10&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 461&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Trademarks and tradenames&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 852&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (774)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 80&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Patents&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 43&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.49%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (40)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Media Contact Database&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,492&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (2,621)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 16&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 887&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total Acquired Intangible Assets&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 9,482&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.49%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; (7,720)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.75%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 35&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 1,797&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Capitalized Developed Software&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.49%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Capitalized Developed Software&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 15,216&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (6,862)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 138&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 8,492&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;Capitalized  Developed Software - in Progress&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,480&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.49%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.75%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (11)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,469&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total Capitalized Developed Software&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 18,696&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; (6,862)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.75%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 127&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 11,961&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.49%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.75%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 28,178&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; (14,582)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.75%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 162&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 13,758&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;background:#ffff00;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.42%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.66%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;white-space:pre-wrap;"&gt;     &lt;/b&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:55.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Foreign&#160;Currency&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Gross&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Accumulated&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;Translation&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Net&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Carrying&#160;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amortization&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;Adjustment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Carrying&#160;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Acquired Intangible Assets&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.66%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Developed technology&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,169&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (2,468)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (43)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 658&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Customer relationships&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,228&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,560)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.66%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (42)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 626&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Trademarks and tradenames&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 880&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (740)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (8)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 132&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Patents&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 45&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (38)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.66%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 8&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Media Contact Database&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,648&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (2,358)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (68)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,222&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total Acquired Intangible Assets&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 9,970&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.42%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; (7,164)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.66%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; (160)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 2,646&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Capitalized Developed Software&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.66%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Capitalized Developed Software&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 11,845&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (4,398)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (348)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,099&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;Capitalized  Developed Software - in Progress&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,787&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.42%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.66%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (6)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,781&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total Capitalized Developed Software&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 14,632&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.42%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; (4,398)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.66%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; (354)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 9,880&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.42%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.66%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 24,602&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.42%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; (11,562)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.66%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; (514)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 12,526&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;Amortization expense relating to acquired intangible assets was approximately $0.9 million for each of the years ended December 31, 2023 and 2022, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;min-height:12.0pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;Amortization expense relating to capitalized developed software was approximately $2.7 million and $1.8 million for the years ended December 31, 2023 and 2022, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;Estimated annual amortization expense for intangible assets subsequent to December 31, 2023 is as follows (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:40%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:68.86%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:22.82%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Year&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:26.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amortization&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:22.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4,929&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2025&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:22.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,976&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2026&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:22.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,704&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2027&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:22.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 739&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2028&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:22.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 597&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Thereafter&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:22.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 813&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.68%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:22.82%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 13,758&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock>
    <us-gaap:ScheduleOfGoodwillTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tb_ievnR4GtQUCpkz6yy3a7eQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The changes in the carrying amount of goodwill for the year ended December 31, 2023 were as follows (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:40%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:80.09%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.96%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:80.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Balance - January 1, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,038&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:80.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Foreign currency translation adjustment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 37&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:80.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Balance - December 31, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.96%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,075&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfGoodwillTextBlock>
    <us-gaap:Goodwill
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_AW2LpD7pOkCsGZvvv7-2GA_1_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">2038000</us-gaap:Goodwill>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_EJaRfArrh0OIJAwjWLoMeg_2_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">37000</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:Goodwill
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_ggW8NgJ_FUWXl7crctSP1w_3_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">2075000</us-gaap:Goodwill>
    <us-gaap:GoodwillImpairmentLoss
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-5"
      id="Narr_nvGSiKZiTk6G97MWfsCEpw"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">0</us-gaap:GoodwillImpairmentLoss>
    <us-gaap:Goodwill
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-5"
      id="Narr_QKVUtp8NPkCeJ86cDDBxfg"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">2100000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-5"
      id="Narr_kxw6SRQHp0Guib8KqfUaFQ"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">2000000.0</us-gaap:Goodwill>
    <us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tb_ucGD0-IBRkmj6t6ZvF-ZwA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;Information regarding the Company acquired intangible assets and capitalized developed software was as follows (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;background:#ffff00;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.49%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.75%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:55.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Foreign&#160;Currency&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Gross&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Accumulated&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;Translation&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Net&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;white-space:pre-wrap;"&gt;     &lt;/b&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Carrying&#160;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;     &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amortization&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;     &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;Adjustment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;     &lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Carrying&#160;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Acquired Intangible Assets&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.49%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Developed technology&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,999&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (2,640)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 366&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Customer relationships&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,096&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.49%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,645)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 10&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 461&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Trademarks and tradenames&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 852&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (774)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 80&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Patents&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 43&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.49%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (40)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Media Contact Database&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,492&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (2,621)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 16&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 887&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total Acquired Intangible Assets&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 9,482&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.49%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; (7,720)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.75%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 35&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 1,797&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Capitalized Developed Software&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.49%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Capitalized Developed Software&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 15,216&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (6,862)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 138&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 8,492&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;Capitalized  Developed Software - in Progress&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,480&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.49%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.75%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (11)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,469&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total Capitalized Developed Software&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 18,696&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; (6,862)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.75%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 127&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 11,961&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.11%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.49%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.75%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 28,178&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; (14,582)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.75%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 162&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 13,758&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;background:#ffff00;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.42%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.66%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;white-space:pre-wrap;"&gt;     &lt;/b&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:55.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Foreign&#160;Currency&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Gross&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Accumulated&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;Translation&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Net&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Carrying&#160;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amortization&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;Adjustment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Carrying&#160;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Acquired Intangible Assets&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.66%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Developed technology&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,169&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (2,468)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (43)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 658&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Customer relationships&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,228&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,560)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.66%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (42)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 626&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Trademarks and tradenames&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 880&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (740)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (8)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 132&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Patents&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 45&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (38)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.66%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 8&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Media Contact Database&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,648&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (2,358)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (68)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,222&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total Acquired Intangible Assets&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 9,970&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.42%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; (7,164)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.66%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; (160)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 2,646&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Capitalized Developed Software&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.66%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Capitalized Developed Software&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 11,845&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (4,398)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.66%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (348)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,099&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="white-space:pre-wrap;"&gt;Capitalized  Developed Software - in Progress&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,787&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.42%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; -&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.66%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (6)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,781&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total Capitalized Developed Software&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 14,632&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.42%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; (4,398)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.66%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; (354)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 9,880&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.42%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.66%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:42.94%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Total&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 24,602&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.17%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.42%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; (11,562)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.66%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; (514)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;$&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.01%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt; 12,526&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_jgpXL2KeZEmEkWN_lDeXmQ"
      decimals="-3"
      id="Tc_JAc0ta4ryEiTfvAF31om3g_6_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">2999000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_jgpXL2KeZEmEkWN_lDeXmQ"
      decimals="-3"
      id="Tc_5ROTtyL8Fk-EeW0c9Uy_Cw_6_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">2640000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment
      contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_jgpXL2KeZEmEkWN_lDeXmQ"
      decimals="-3"
      id="Tc_QX5GK2x2MEKSEPInJGRiFQ_6_9"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">7000</inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_jgpXL2KeZEmEkWN_lDeXmQ"
      decimals="-3"
      id="Tc_9AfmFwunvEuKhfpR-AdYMg_6_12"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">366000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_lJ-iqzoN70qDCnc-LsPEuw"
      decimals="-3"
      id="Tc_LSVBhKlFIUKZMwYbcDaO0w_7_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">2096000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_lJ-iqzoN70qDCnc-LsPEuw"
      decimals="-3"
      id="Tc_fMwsYypg3UirCxv5yWfcKw_7_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">1645000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment
      contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_lJ-iqzoN70qDCnc-LsPEuw"
      decimals="-3"
      id="Tc_LYOpBkZDHk2niRIJwCjnFg_7_9"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">10000</inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_lJ-iqzoN70qDCnc-LsPEuw"
      decimals="-3"
      id="Tc_0Jw6phCuiUOzn99BP1YIdQ_7_12"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">461000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TrademarksAndTradeNamesMember_Gj52JADWik2ItSOKlpbJzg"
      decimals="-3"
      id="Tc_ekGj95VKoEOYMY7db631tA_8_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">852000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TrademarksAndTradeNamesMember_Gj52JADWik2ItSOKlpbJzg"
      decimals="-3"
      id="Tc_mKPboiS8oU6oGJ1TvNd_jQ_8_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">774000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment
      contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TrademarksAndTradeNamesMember_Gj52JADWik2ItSOKlpbJzg"
      decimals="-3"
      id="Tc_vmFpdhgV5ESkCewkUA3tDg_8_9"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">2000</inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TrademarksAndTradeNamesMember_Gj52JADWik2ItSOKlpbJzg"
      decimals="-3"
      id="Tc_PAd3vhpfRUyYemvrspjX3g_8_12"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">80000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_PatentsMember_zVB7ioDKikWsICnbFgSR-A"
      decimals="-3"
      id="Tc_a8BAowHHFkqakeMKfiMssA_9_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">43000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_PatentsMember_zVB7ioDKikWsICnbFgSR-A"
      decimals="-3"
      id="Tc_ZYOxVC7aGkW0cpX33tVGRw_9_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">40000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_PatentsMember_zVB7ioDKikWsICnbFgSR-A"
      decimals="-3"
      id="Tc_w83W1SxKnkiuBlCdI6erDQ_9_12"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">3000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DatabasesMember_EBiWXn6yiECLhivoDMTk4Q"
      decimals="-3"
      id="Tc_U-yYtFsHoUiueS_qqpZ8JQ_10_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">3492000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DatabasesMember_EBiWXn6yiECLhivoDMTk4Q"
      decimals="-3"
      id="Tc_D8RAqIJsL0-w9HWRtYhI8Q_10_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">2621000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment
      contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DatabasesMember_EBiWXn6yiECLhivoDMTk4Q"
      decimals="-3"
      id="Tc_N_CCDuAaG0ugd8GinD2irQ_10_9"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">16000</inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DatabasesMember_EBiWXn6yiECLhivoDMTk4Q"
      decimals="-3"
      id="Tc_bXOYeVifCEKv2TdlsQNdOw_10_12"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">887000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_3xT5wZurSEWwIqeeGVMCmw"
      decimals="-3"
      id="Tc_wPt2R3WFUUe3lp5SHiiy-w_11_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">9482000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_3xT5wZurSEWwIqeeGVMCmw"
      decimals="-3"
      id="Tc_P1ww15s1YU6a1LPPB7AS5g_11_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">7720000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment
      contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_3xT5wZurSEWwIqeeGVMCmw"
      decimals="-3"
      id="Tc_km-nxPv-_kqYoouf9hwN8Q_11_9"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">35000</inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_3xT5wZurSEWwIqeeGVMCmw"
      decimals="-3"
      id="Tc_eK5IpmcmdUW_X96L8kf4Bw_11_12"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">1797000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostMember_dKot9KqYtkm9_4foL5aTIA"
      decimals="-3"
      id="Tc_4kMGurujrUyIDWBDERwR2w_14_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">15216000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostMember_dKot9KqYtkm9_4foL5aTIA"
      decimals="-3"
      id="Tc_Fpia8LrOjkKwkcrUcfK9qw_14_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">6862000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment
      contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostMember_dKot9KqYtkm9_4foL5aTIA"
      decimals="-3"
      id="Tc_77orlJuLoUWcfsaakbp9tg_14_9"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">138000</inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostMember_dKot9KqYtkm9_4foL5aTIA"
      decimals="-3"
      id="Tc_yO_E1StL6kSgKpTNav7A-A_14_12"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">8492000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember_3Q1JoDdhqUC0jOy4GmA0aw"
      decimals="-3"
      id="Tc__FmiPd0erUunDIzhl6UxhA_15_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">3480000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment
      contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember_3Q1JoDdhqUC0jOy4GmA0aw"
      decimals="-3"
      id="Tc_9VWBwZl7xkW5fS9qHTBH9A_15_9"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">11000</inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember_3Q1JoDdhqUC0jOy4GmA0aw"
      decimals="-3"
      id="Tc_6OItl3hK0k6CmlpBhERaMg_15_12"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">3469000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_7PVrMi5Wr0aP4girP8kHXA"
      decimals="-3"
      id="Tc_kZjyUCeVTkaVWAlOaGH7EA_16_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">18696000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_7PVrMi5Wr0aP4girP8kHXA"
      decimals="-3"
      id="Tc_dxTIfvk7WU-bvPXH1-5NQw_16_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">6862000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment
      contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_7PVrMi5Wr0aP4girP8kHXA"
      decimals="-3"
      id="Tc_ciqPJ8uFK0ig9OYmC9sfmg_16_9"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">127000</inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_7PVrMi5Wr0aP4girP8kHXA"
      decimals="-3"
      id="Tc_19nCWmykhUaKTKdEWC54hg_16_12"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">11961000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_0wCQC9jxckOy2Uq0TgjgZw_18_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">28178000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_3b5lNWQThUOvtuF8sfmflA_18_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">14582000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_6-z1N7hmaEaGKmgy6E6GOg_18_9"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">162000</inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_8tuOCwuToEyaylx6BksNIA_18_12"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">13758000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_nLHbcZHXgU6_creI3uE6xA"
      decimals="-3"
      id="Tc_hfcSzCvq7EaD1Il5GBXl2A_6_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">3169000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_nLHbcZHXgU6_creI3uE6xA"
      decimals="-3"
      id="Tc_-O6oaHzQjkK6Xakx3DPPzA_6_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">2468000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment
      contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_nLHbcZHXgU6_creI3uE6xA"
      decimals="-3"
      id="Tc_E4_GNdp88Ee3qk7GgW2tuA_6_9"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">43000</inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember_nLHbcZHXgU6_creI3uE6xA"
      decimals="-3"
      id="Tc_GLt2JK51rkSSgfOTH2owHw_6_12"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">658000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_Zyeu2TOum0WZjX6qoUuy-g"
      decimals="-3"
      id="Tc_0DA0ytSw30an5io82bPVQg_7_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">2228000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_Zyeu2TOum0WZjX6qoUuy-g"
      decimals="-3"
      id="Tc_ubknu3KNKECvmYMf-b-1GA_7_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">1560000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment
      contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_Zyeu2TOum0WZjX6qoUuy-g"
      decimals="-3"
      id="Tc_l8HVImzVQk2OVm1q-pT8KA_7_9"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">42000</inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_Zyeu2TOum0WZjX6qoUuy-g"
      decimals="-3"
      id="Tc_jSTFlMWB50Op6O0EMzEvfg_7_12"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">626000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TrademarksAndTradeNamesMember_uHTO2EfbRUC-OqF-EOw6qA"
      decimals="-3"
      id="Tc_fqjcGptxPkC5z6SyFUGGpg_8_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">880000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TrademarksAndTradeNamesMember_uHTO2EfbRUC-OqF-EOw6qA"
      decimals="-3"
      id="Tc_X-DWdE5dkUaOikNXPFZqRw_8_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">740000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment
      contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TrademarksAndTradeNamesMember_uHTO2EfbRUC-OqF-EOw6qA"
      decimals="-3"
      id="Tc_XL82fzSg0EehBSOFNAIf0Q_8_9"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">8000</inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_TrademarksAndTradeNamesMember_uHTO2EfbRUC-OqF-EOw6qA"
      decimals="-3"
      id="Tc_vAYtxMgCZ0ijQ-QradTYdg_8_12"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">132000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_PatentsMember_WeQXdzje8ka8BkVNU3B7wQ"
      decimals="-3"
      id="Tc_dBgox_wCZ0-HCfaE3cYuFQ_9_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">45000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_PatentsMember_WeQXdzje8ka8BkVNU3B7wQ"
      decimals="-3"
      id="Tc_enKKxe9bj0ylGKpI2Oin_Q_9_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">38000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment
      contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_PatentsMember_WeQXdzje8ka8BkVNU3B7wQ"
      decimals="-3"
      id="Tc_orLZpouiaEScApjobdI8BQ_9_9"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">1000</inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_PatentsMember_WeQXdzje8ka8BkVNU3B7wQ"
      decimals="-3"
      id="Tc_NYjSlJgTaUu-cc5v6FBGuQ_9_12"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">8000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DatabasesMember_mRRUGIoPKk-sWL8PUouAGQ"
      decimals="-3"
      id="Tc_42_GgOnb60S5MOaJ0M7ymA_10_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">3648000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DatabasesMember_mRRUGIoPKk-sWL8PUouAGQ"
      decimals="-3"
      id="Tc_lNGdJVkRf0qphrPHzUVENw_10_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">2358000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment
      contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DatabasesMember_mRRUGIoPKk-sWL8PUouAGQ"
      decimals="-3"
      id="Tc_jIVcO8UFhkyBpBF1JA_WBQ_10_9"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">68000</inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DatabasesMember_mRRUGIoPKk-sWL8PUouAGQ"
      decimals="-3"
      id="Tc_PvAtfAqA80G5S_BjArBbCQ_10_12"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">1222000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_htNU6lFd3kKabu_rRRkMyA"
      decimals="-3"
      id="Tc_y2raSVUw5Uem_mqqc-G6bw_11_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">9970000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_htNU6lFd3kKabu_rRRkMyA"
      decimals="-3"
      id="Tc_-TxM8KqJC062x8BIhZH_1w_11_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">7164000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment
      contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_htNU6lFd3kKabu_rRRkMyA"
      decimals="-3"
      id="Tc_m1pRxUzNXUmyb-nn5ZXM1w_11_9"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">160000</inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_htNU6lFd3kKabu_rRRkMyA"
      decimals="-3"
      id="Tc_1_4qxq089k-lRMp19nbxjg_11_12"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">2646000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostMember_1EUD_z-rhES_jtnA2B4dGA"
      decimals="-3"
      id="Tc_81DPPga9X0-933XQbzBqoQ_14_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">11845000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostMember_1EUD_z-rhES_jtnA2B4dGA"
      decimals="-3"
      id="Tc_NEvlGQic2UKnxpb2v_jDJA_14_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">4398000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment
      contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostMember_1EUD_z-rhES_jtnA2B4dGA"
      decimals="-3"
      id="Tc_l_w7TGBcmEyVGHJg8tTFCA_14_9"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">348000</inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostMember_1EUD_z-rhES_jtnA2B4dGA"
      decimals="-3"
      id="Tc_mHoC8bFjmUCulLwgtLPROA_14_12"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">7099000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember_BEgB-Yr_nES75-uDd-4kHg"
      decimals="-3"
      id="Tc__-uPoYZg8E-LVwwzp5d-1w_15_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">2787000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment
      contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember_BEgB-Yr_nES75-uDd-4kHg"
      decimals="-3"
      id="Tc_gIgVqAyL7UumVb4xM-kPPA_15_9"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">6000</inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_CapitalizedSoftwareDevelopmentCostWorkInProgressMember_BEgB-Yr_nES75-uDd-4kHg"
      decimals="-3"
      id="Tc_ngjiHOvEwEipvA22NZ84Qg_15_12"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">2781000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_CNjlWMTNREa7402JV2GnsA"
      decimals="-3"
      id="Tc_SwQXtlXOGUOWNG89rd6BnA_16_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">14632000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_CNjlWMTNREa7402JV2GnsA"
      decimals="-3"
      id="Tc_dEVwGbYEDEqpHlsQvBUPbw_16_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">4398000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment
      contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_CNjlWMTNREa7402JV2GnsA"
      decimals="-3"
      id="Tc_g1ZKBLs1CUC9x-xVO7nlJg_16_9"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">354000</inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_CNjlWMTNREa7402JV2GnsA"
      decimals="-3"
      id="Tc_S3X_ZH2t7kaSwvv3rDF5uA_16_12"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">9880000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_Rv3bZdt5WEO_trZJAz29Aw_18_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">24602000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_KKuhBQJSaUqyEUui1dORDg_18_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">11562000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_4ErX0JB1J0eOJjEHL_LghQ_18_9"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">514000</inod:FiniteLivedIntangibleAssetsAccumulatedForeignCurrencyTranslationAdjustment>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_CiNg44-yQkiFM_yme_Pgow_18_12"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">12526000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember_5ToJZqlEW0i8mTZxDTlASQ"
      decimals="-5"
      id="Narr_tuCRl0e1kESqlAsJz4WQ2Q"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">900000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_inod_AcquiredIntangibleAssetsMember__a2gkVDth0ywgic7QgphKQ"
      decimals="-5"
      id="Narr_LH5Avm69rECUq-neRJ_5QA"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">900000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_oy0WX7SYMUyLC7id-H4ucw"
      decimals="-5"
      id="Narr_-iMV-8wtTkSDIoJRwd7VWg"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">2700000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_ComputerSoftwareIntangibleAssetMember_MrUGCXFZSEWy5o1j5bpSmw"
      decimals="-5"
      id="Narr_qO4cOcJc5UObil5VwOzISw"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">1800000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tb_ivQTd5k16UaC2jX0jnpM3Q">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;Estimated annual amortization expense for intangible assets subsequent to December 31, 2023 is as follows (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:40%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:68.86%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:22.82%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Year&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:26.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amortization&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:22.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4,929&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2025&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:22.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,976&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2026&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:22.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,704&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2027&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:22.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 739&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2028&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.68%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:22.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 597&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.86%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Thereafter&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:22.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 813&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.86%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.68%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:22.82%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 13,758&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_6nppNK8bPE-Xei8i1eGjeg_2_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">4929000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc__ym3DWWakEm4ABtBZv7srA_3_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">3976000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_xtN-XgoCr0eZvTwL4JpyWg_4_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">2704000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_2XZtyabu1kiB62chpfDvlw_5_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">739000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_RxcqA6SAeUGfUC1eDbvlaw_6_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">597000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive>
    <inod:FiniteLivedIntangibleAssetExpectedAmortizationThereafter
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_xoMeEWt-P0OkdgKrSqhdZQ_7_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">813000</inod:FiniteLivedIntangibleAssetExpectedAmortizationThereafter>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_CwXK_qktYEK0WcLQT-oL6A_8_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">13758000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:IncomeTaxDisclosureTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tb_9LgPdSccL0ypxTmgWF2weA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;"&gt;6.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Income Taxes&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The significant components of the provision for income taxes for the&#160;years ended December 31, 2023 and 2022 were as follows (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Current income tax expense (benefit):&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Foreign&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,181&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,131&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Federal&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 120&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 144&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;State and local&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 30&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,304&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,305&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Deferred income tax expense (benefit):&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Foreign&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (286)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 207&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Federal&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 10&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 10&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;State and local&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (276)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 217&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Provision for income taxes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,028&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,522&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The reconciliation of the U.S. statutory rate with the Company&#x2019;s effective tax rate for the&#160;years ended December 31, 2023 and 2022 is summarized as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:68.96%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.61%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Federal income tax expense (benefit) at statutory rate&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.61%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 21.0&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (21.0)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Effect of:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Change in valuation allowance&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.61%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 578.6&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 36.9&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Tax effects of foreign operations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 562.6&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2.5&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Section 162 (m)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.61%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 452.0&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Return to provision true up&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 264.4&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 0.3&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Increase in unrecognized tax benefits (ASC 740)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.61%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 199.6&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 0.7&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Withholding tax&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 106.6&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Foreign operations permanent differences - foreign exchange gains and losses&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.61%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 76.9&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1.1&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;State income tax net of federal benefit&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 0.1&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 0.2&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Research and development credit&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.61%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (67.3)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Foreign rate differential&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (102.5)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (4.7)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Deemed interest&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.61%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (149.2)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1.9)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Tax effect of intercompany settlement&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (234.0)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Effect of stock-based compensation&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.61%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (961.6)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (0.3)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Other&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (7.6)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 0.7&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Effective tax rate&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.61%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 739.6&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.63%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 14.5&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;Deferred tax assets and liabilities are classified as non-current. Significant components of the Company&#x2019;s deferred tax assets and liabilities as of December 31, 2023 and 2022 were as follows (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Deferred income tax assets:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Allowances not currently deductible&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 283&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 301&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Depreciation and amortization&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 58&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 9&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Equity compensation not currently deductible&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,098&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,579&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Net operating loss carryforwards&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 10,514&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 10,758&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Research and development credits&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 452&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 362&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Expenses not deductible until paid&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,972&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,694&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Other&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 133&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (220)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 12pt;"&gt;Total gross deferred income tax assets before valuation allowance&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 15,510&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 14,483&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Valuation allowance&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (13,769)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (13,008)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 12pt;"&gt;Deferred income tax assets, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,741&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,475&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 18pt;"&gt;&lt;span style="font-size:10pt;margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Deferred income tax liabilities:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Other&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (22)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (65)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 12pt;"&gt;Total deferred income tax liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (22)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (65)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 18pt;"&gt;&lt;span style="font-size:10pt;margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net deferred income tax assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,719&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,410&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net deferred income tax assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,741&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,475&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net deferred income tax liability&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (22)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (65)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net deferred income tax assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,719&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,410&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;In assessing the realization of deferred tax assets, management considers whether it is more likely than not that all or some portion of the deferred tax assets will not be realizable. The ultimate realization of the deferred tax assets is dependent upon the generation of future taxable income during the periods in which temporary differences are deductible and net operating losses are available. As of December 31, 2023, the Company continues to maintain a valuation allowance on all of the Company&#x2019;s United States, Canadian, German and United Kingdom subsidiaries&#x2019; deferred tax assets.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company maintained a valuation allowance of approximately $13.8 million and $13.0 million as of December 31, 2023 and 2022, respectively. The valuation allowance relates to the United States, and the Company&#x2019;s Canadian, German and the United Kingdom subsidiaries&#x2019; deferred tax assets. The net change in the total valuation allowance was an increase of $0.8 million and $3.9 million for the&#160;years ended December 31, 2023 and December 31, 2022, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;Despite the access to the overseas earnings and the resulting toll charge, the Company intends to indefinitely reinvest the foreign earnings in our foreign subsidiaries on account of the foreign jurisdiction withholding tax that the Company has to incur on the actual remittances. Unremitted earnings of foreign subsidiaries amounted to approximately $50.4 million at December 31, 2023. If such earnings are repatriated in the future, or are no longer deemed to be indefinitely reinvested, the Company would have to accrue the applicable amount of foreign jurisdiction withholding taxes associated with such remittances.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;United States and foreign components of loss before provision for income taxes for each of the years ended December&#160;31, were as follows&#160;(in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:40%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:58.93%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.67%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.99%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;white-space:pre-wrap;"&gt;    &lt;/b&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;white-space:pre-wrap;"&gt;    &lt;/b&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;United States&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,025&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.99%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (4,023)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Foreign&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,886)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (6,460)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Totals&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.67%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 139&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.99%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (10,483)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;At December 31, 2023, the Company had available U.S. federal net operating loss (NOL) carryforwards of approximately $21.2 million and recognized research and development credits of approximately $0.1 million. These NOL carryforwards expire at various times from the year 2032 through the&#160;year 2035 and the research and development credit expires in 2043. The potential benefits from these balances have not been recognized for financial statement purposes.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;Under the CARES Act, the Internal Revenue Code was amended to allow for federal NOL carrybacks for five years to offset previous years&#x2019; taxable income or for the NOL to be carried forward indefinitely to offset 80% of taxable income for tax years 2021 and thereafter. As of the date the financial statements were issued, the state NOL carryforwards, if not utilized, will expire beginning in 2032.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;On December 31, 2023, the Company&#x2019;s Canadian subsidiaries had available Canadian NOL carryforwards of approximately $27.0 million that will begin to expire in 2036 and research and development credits of approximately $1.4 million that have no expiry. The potential benefits from these balances have not been recognized for financial statement purposes.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;On December 31, 2023, the Company&#x2019;s German and the United Kingdom subsidiaries had available NOL carryforwards of approximately $1.7 million. The potential benefits from these balances have not been recognized for financial statement purposes.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company had reserves for uncertain tax positions of $1.9 million and $1.7 million as of December 31, 2023, and 2022, respectively, where the ultimate tax determination is uncertain due to complexities of tax laws. The increase in unrecognized tax benefits resulted from additional accruals for the current tax year. The Company expects that unrecognized tax benefits as of December 31, 2023 and December 31, 2022, if recognized, would have a material impact on the Company&#x2019;s effective tax rate.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company is subject to Federal income tax, as well as income tax in various states and foreign jurisdictions. The Company has open tax years for U.S. Federal and state taxes from 2019 through 2023. Various foreign subsidiaries have open tax years from 2005 through 2022, some of which are under audit by local tax authorities. The Company believes that its accruals for uncertain tax positions as of December 31, 2023 under ASC 740, Income Taxes are adequate to cover the Company&#x2019;s income tax exposures.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The following table represents a roll forward of the Company&#x2019;s unrecognized tax benefits and associated interest for the&#160;years ended (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:50%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.24%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.22%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Unrecognized Tax &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Benefits&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Balance at January 1&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,680&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,753&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Decrease for prior year tax positions&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (68)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (290)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Increase for current year tax positions&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 247&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 311&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Interest accrual&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 97&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 67&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Foreign currency remeasurement&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (14)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (161)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Balance at December 31&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.87%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,942&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,680&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:italic;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;Tax Assessments&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;In September&#160;2015, the Company&#x2019;s Indian subsidiary was subject to an inquiry by the Service Tax Department in India regarding the classification of services provided by this subsidiary, asserting that the services provided by this subsidiary fall under the category of online information and database access or retrieval services (OID Services), and not under the category of business support services (BS Services) that are exempt from service tax as historically indicated in the subsidiary&#x2019;s service tax filings. The Company disagrees with the Service Tax Department&#x2019;s position. In November 2019, the Commissioner of Central Tax, GST &amp;amp; Central Excise issued an order confirming the Service Tax Department&#x2019;s position. The Company contested this order in an appeal to the Customs, Excise and Service Tax Appellate Tribunal and in January 2024 the Customs, Excise and Service Tax Appellate Tribunal ruled in the Company&#x2019;s favor. In the event the Service Tax Department appeals this ruling and is ultimately successful in proving that the services fall under the category of OID Services, the revenues earned by the Company&#x2019;s Indian subsidiary for the period July&#160;2012 through November&#160;2016 would be subject to a service tax of between 12.36% and 15%, and this subsidiary may also be liable for interest and penalties. The revenues of the Company&#x2019;s Indian subsidiary during this period was approximately $56.0 million. In accordance with new rules&#160;promulgated by the Service Tax Department, as of December&#160;1, 2016 service tax is no longer applicable to OID or BS Services. Based on the Company&#x2019;s assessment in consultation with the Company&#x2019;s tax counsel, the Company has not recorded any tax liability for this case.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;In a separate action relating to service tax refunds, in October 2016, the Company&#x2019;s Indian subsidiary received notices from the Indian Service Tax Department in India seeking to reverse service tax refunds of approximately $121,000 previously granted to the Company&#x2019;s Indian subsidiary for three quarters in 2014, asserting that the services provided by this subsidiary fall under the category of OID Services and not BS Services. The appeal was determined in favor of the Service Tax Department. The Company disagrees with the basis of this decision and is contesting it. The Company expects delays in its Indian subsidiary receiving further service tax refunds until this matter is adjudicated with finality, and currently has service tax credits of approximately $0.8 million recorded as a receivable. Based on the Company&#x2019;s assessment in consultation with the Company&#x2019;s tax counsel, the Company has not recorded any tax liability for this case.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;Substantial recovery against the Company in the above referenced 2015 Service Tax Department case could have a material adverse impact on the Company, and unfavorable rulings or recoveries in other tax proceedings could have a material adverse impact on the consolidated operating results of the period (and subsequent periods) in which the rulings or recovery occurs.&lt;/p&gt;</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tb_Ik8w5AQnW0KQY3t-F0TlOA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The significant components of the provision for income taxes for the&#160;years ended December 31, 2023 and 2022 were as follows (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Current income tax expense (benefit):&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Foreign&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,181&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,131&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Federal&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 120&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 144&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;State and local&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 30&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,304&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,305&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Deferred income tax expense (benefit):&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Foreign&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (286)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 207&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Federal&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 10&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 10&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;State and local&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (276)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 217&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Provision for income taxes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,028&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,522&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock>
    <us-gaap:CurrentForeignTaxExpenseBenefit
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_lnxHlXf_8Uq-RYxcNPBrJw_3_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">1181000</us-gaap:CurrentForeignTaxExpenseBenefit>
    <us-gaap:CurrentForeignTaxExpenseBenefit
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_3P5-nNKcnkWeDH_w4Yd_aA_3_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">1131000</us-gaap:CurrentForeignTaxExpenseBenefit>
    <us-gaap:CurrentFederalTaxExpenseBenefit
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_GPWz6N9DbU-e24DOypa2og_4_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">120000</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:CurrentFederalTaxExpenseBenefit
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_1Gk0bFrRukO2-igUv4Ji7w_4_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">144000</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_YwUj4C-m3U-NJwsgX5u1uw_5_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">3000</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_IweuLQkoyEGOCYNvQNiCrg_5_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">30000</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_AabY6kitikOGVMF1yPMLEQ_6_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">1304000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_WkdZGIyai06tHeUkPRpQkQ_6_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">1305000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:DeferredForeignIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_UO2skx6k40OMLo0pQh3yEw_8_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-286000</us-gaap:DeferredForeignIncomeTaxExpenseBenefit>
    <us-gaap:DeferredForeignIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_Cc6VuZzs10mdpdAaMr2a7g_8_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">207000</us-gaap:DeferredForeignIncomeTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_whWChMhEaUKwA9QyvYQE5g_9_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">10000</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_eKczRzY2iEmEh1qIDgu5lw_9_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">10000</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_owZFcVT7k06kMm0Oecb5-g_11_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-276000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_n4VPuc9Vs062Mcj_i5Qbpg_11_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">217000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_6N7ozdycREa5bfEirIuhyQ_12_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">1028000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_e1qBtLDPKE6uDK1a2p7KUA_12_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">1522000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tb_xVU1eau17E-wML5mmXXThg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The reconciliation of the U.S. statutory rate with the Company&#x2019;s effective tax rate for the&#160;years ended December 31, 2023 and 2022 is summarized as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:68.96%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.61%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Federal income tax expense (benefit) at statutory rate&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.61%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 21.0&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (21.0)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Effect of:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Change in valuation allowance&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.61%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 578.6&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 36.9&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Tax effects of foreign operations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 562.6&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2.5&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Section 162 (m)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.61%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 452.0&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Return to provision true up&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 264.4&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 0.3&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Increase in unrecognized tax benefits (ASC 740)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.61%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 199.6&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 0.7&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Withholding tax&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 106.6&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Foreign operations permanent differences - foreign exchange gains and losses&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.61%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 76.9&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1.1&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;State income tax net of federal benefit&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 0.1&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 0.2&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Research and development credit&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.61%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (67.3)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Foreign rate differential&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (102.5)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (4.7)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Deemed interest&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.61%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (149.2)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1.9)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Tax effect of intercompany settlement&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (234.0)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.63%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Effect of stock-based compensation&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.61%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (961.6)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.63%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (0.3)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Other&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (7.6)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 0.7&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:68.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Effective tax rate&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.61%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 739.6&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.63%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 14.5&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock>
    <inod:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRateBenefitExpense
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="3"
      id="Tc_LUohNz5aEke09sOL8C3JEQ_2_2"
      unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg">0.210</inod:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRateBenefitExpense>
    <inod:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRateBenefitExpense
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="3"
      id="Tc_pCFa5OFakEe0N-SoRxKezg_2_4"
      unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg">-0.210</inod:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRateBenefitExpense>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="3"
      id="Tc_cHat3fNaU0iJopq85Oepjw_4_2"
      unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg">5.786</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="3"
      id="Tc_yInTbxma_0aXTCTPlGfNRg_4_4"
      unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg">0.369</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingenciesForeign
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="3"
      id="Tc_dqH4LXN-tE2XFiFSYi5obA_5_2"
      unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg">5.626</us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingenciesForeign>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingenciesForeign
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="3"
      id="Tc_O9p0Pz1UJEGQya-gCb0m3A_5_4"
      unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg">0.025</us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingenciesForeign>
    <inod:EffectiveIncomeTaxRateReconciliationSection162Percentage
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="3"
      id="Tc_FPgPJ0v8mU2kySEL6wfmIA_6_2"
      unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg">4.520</inod:EffectiveIncomeTaxRateReconciliationSection162Percentage>
    <inod:EffectiveIncomeTaxRateReconciliationReturnToProvisionTrueUp
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="3"
      id="Tc_19_7m0TBs06FsVS4zBcnZg_7_2"
      unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg">2.644</inod:EffectiveIncomeTaxRateReconciliationReturnToProvisionTrueUp>
    <inod:EffectiveIncomeTaxRateReconciliationReturnToProvisionTrueUp
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="3"
      id="Tc_zKZX_dvraUmmS2bF9vueHA_7_4"
      unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg">0.003</inod:EffectiveIncomeTaxRateReconciliationReturnToProvisionTrueUp>
    <inod:EffectiveIncomeTaxRateReconciliationIncreaseInUnrecognizedTaxBenefits
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="3"
      id="Tc_XAkkIJV5oUyKiC6LShZT8Q_8_2"
      unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg">1.996</inod:EffectiveIncomeTaxRateReconciliationIncreaseInUnrecognizedTaxBenefits>
    <inod:EffectiveIncomeTaxRateReconciliationIncreaseInUnrecognizedTaxBenefits
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="3"
      id="Tc_TlpRvy2fD0OeVthIDgyNRA_8_4"
      unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg">0.007</inod:EffectiveIncomeTaxRateReconciliationIncreaseInUnrecognizedTaxBenefits>
    <inod:EffectiveIncomeTaxRateReconciliationWithholdingTaxPercentage
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="3"
      id="Tc_4RK6FZrdy0a9c9MzuEwRXg_9_2"
      unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg">1.066</inod:EffectiveIncomeTaxRateReconciliationWithholdingTaxPercentage>
    <inod:ForeignOperationsPermanentDifferenceForeignExchangeGainsAndLosses
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="3"
      id="Tc_xyZRgwBVpUa2Q_lNtQPeAg_10_2"
      unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg">0.769</inod:ForeignOperationsPermanentDifferenceForeignExchangeGainsAndLosses>
    <inod:ForeignOperationsPermanentDifferenceForeignExchangeGainsAndLosses
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="3"
      id="Tc_af9x4fQf-0-bzusIEUFTSA_10_4"
      unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg">0.011</inod:ForeignOperationsPermanentDifferenceForeignExchangeGainsAndLosses>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="3"
      id="Tc_mb8XuuxjHUKdqL9DKspkIw_11_2"
      unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg">0.001</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="3"
      id="Tc_OYU-m5jRnkGTRIjqfUp14w_11_4"
      unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg">0.002</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="3"
      id="Tc_m5T8gy2LNEyp4Aa6hoYEMQ_12_2"
      unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg">0.673</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch>
    <us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="3"
      id="Tc_KkTZkRsgR0mei8LAc2iIjw_13_2"
      unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg">-1.025</us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="3"
      id="Tc_PzR84roiFEOqY6OYFfxi7g_13_4"
      unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg">-0.047</us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential>
    <inod:EffectiveIncomeTaxRateReconciliationDeemedInterestPercent
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="3"
      id="Tc_SqyuCxW2X0yiDBKaW5hedA_14_2"
      unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg">-1.492</inod:EffectiveIncomeTaxRateReconciliationDeemedInterestPercent>
    <inod:EffectiveIncomeTaxRateReconciliationDeemedInterestPercent
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="3"
      id="Tc_0ihwQBycq0CXMSrgrRkfrQ_14_4"
      unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg">-0.019</inod:EffectiveIncomeTaxRateReconciliationDeemedInterestPercent>
    <inod:EffectiveIncomeTaxRateReconciliationTaxSettlementIntercompanyPercent
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="3"
      id="Tc_Q9sBRunPyU2i0IFPO8ke0Q_15_2"
      unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg">-2.340</inod:EffectiveIncomeTaxRateReconciliationTaxSettlementIntercompanyPercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="3"
      id="Tc_0mM8AuInX0SLX1NrLuwoAw_16_2"
      unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg">-9.616</us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="3"
      id="Tc_4fl-N-FDMEGijMWlJfhr-w_16_4"
      unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg">-0.003</us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="3"
      id="Tc_W3iV9o3-zkWhPON5L1_nVA_17_2"
      unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg">-0.076</us-gaap:EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent>
    <us-gaap:EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="3"
      id="Tc_HQVjwHyCfUSa-TUY1OJS1w_17_4"
      unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg">0.007</us-gaap:EffectiveIncomeTaxRateReconciliationOtherReconcilingItemsPercent>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="3"
      id="Tc_mj21lXPjnkePehlrSAR6iw_18_2"
      unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg">7.396</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="3"
      id="Tc_GRif_JpSzEGsqn7s4JLsYA_18_4"
      unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg">0.145</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tb_HmQgKZNb4Ei_BHR14Q7RVg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;Deferred tax assets and liabilities are classified as non-current. Significant components of the Company&#x2019;s deferred tax assets and liabilities as of December 31, 2023 and 2022 were as follows (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Deferred income tax assets:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Allowances not currently deductible&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 283&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 301&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Depreciation and amortization&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 58&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 9&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Equity compensation not currently deductible&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,098&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,579&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Net operating loss carryforwards&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 10,514&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 10,758&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Research and development credits&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 452&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 362&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Expenses not deductible until paid&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,972&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,694&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Other&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 133&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (220)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 12pt;"&gt;Total gross deferred income tax assets before valuation allowance&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 15,510&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 14,483&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Valuation allowance&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (13,769)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (13,008)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 12pt;"&gt;Deferred income tax assets, net&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,741&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,475&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 18pt;"&gt;&lt;span style="font-size:10pt;margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Deferred income tax liabilities:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Other&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (22)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (65)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 12pt;"&gt;Total deferred income tax liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (22)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (65)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 18pt;"&gt;&lt;span style="font-size:10pt;margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net deferred income tax assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,719&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,410&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net deferred income tax assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,741&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,475&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net deferred income tax liability&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (22)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (65)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net deferred income tax assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,719&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,410&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_O33YnBWyokyfRutmFP3m8Q_4_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">283000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_edgupc5KXUGpgDrSFpjoWw_4_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">301000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccruals>
    <us-gaap:DeferredTaxAssetsPropertyPlantAndEquipment
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_1rZSMjwgE0SF5WtGf0zOIw_5_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">58000</us-gaap:DeferredTaxAssetsPropertyPlantAndEquipment>
    <us-gaap:DeferredTaxAssetsPropertyPlantAndEquipment
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_zdsDCCy7-E6sT8TJptEOeA_5_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">9000</us-gaap:DeferredTaxAssetsPropertyPlantAndEquipment>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_epvuSVLEAUqEUtZRgLWFmA_6_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">2098000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_zcrMmL9TR0aloGURA-fHOQ_6_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">1579000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefits>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_5ABIGN306EGdkapk_C4xgQ_7_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">10514000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_HDhKYn7fjE-mjp38atPzug_7_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">10758000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
    <us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_COt9zDqEukS2nf1r3uPfuw_8_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">452000</us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch>
    <us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_wL2x4Qf1jUCj12rQ9n1Qkw_8_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">362000</us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch>
    <inod:DeferredTaxAssetsExpensesNotDeductibleUntilPaid
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_36gA7r36oEa1zpL_2cNffA_9_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">1972000</inod:DeferredTaxAssetsExpensesNotDeductibleUntilPaid>
    <inod:DeferredTaxAssetsExpensesNotDeductibleUntilPaid
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_qBEFo-lqBUah7LvJDWXDHw_9_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">1694000</inod:DeferredTaxAssetsExpensesNotDeductibleUntilPaid>
    <us-gaap:DeferredTaxAssetsOther
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_vr_6lYt1xECG9QMg8GblhQ_10_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">133000</us-gaap:DeferredTaxAssetsOther>
    <us-gaap:DeferredTaxAssetsOther
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_kiDCu3YohE-sMwwWBYCFdg_10_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-220000</us-gaap:DeferredTaxAssetsOther>
    <us-gaap:DeferredTaxAssetsGross
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_Eor4zqwuX0CR1cTR28MeQQ_11_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">15510000</us-gaap:DeferredTaxAssetsGross>
    <us-gaap:DeferredTaxAssetsGross
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_Mo1jLKZjykSTbe_V1gbJdg_11_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">14483000</us-gaap:DeferredTaxAssetsGross>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_vTm2ZDSeI0aRJyN6x3x19g_12_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">13769000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_w4yY--WkU0iRKye-GUMalw_12_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">13008000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsNet
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_m1Ktaw1gEUmcP95sdwyjoA_13_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">1741000</us-gaap:DeferredTaxAssetsNet>
    <us-gaap:DeferredTaxAssetsNet
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_a7bfW8lsnUyZ2FtlGd0xqA_13_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">1475000</us-gaap:DeferredTaxAssetsNet>
    <us-gaap:DeferredTaxLiabilitiesOther
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_-3TV-4m7wEiEQwfWD3zv-A_16_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">22000</us-gaap:DeferredTaxLiabilitiesOther>
    <us-gaap:DeferredTaxLiabilitiesOther
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_UkaAkUv2nUG1PKYv8905_Q_16_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">65000</us-gaap:DeferredTaxLiabilitiesOther>
    <us-gaap:DeferredIncomeTaxLiabilities
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_OOr6MDNg2EycFhayz46cmw_17_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">22000</us-gaap:DeferredIncomeTaxLiabilities>
    <us-gaap:DeferredIncomeTaxLiabilities
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_Gsi4W8kwd0SOe8CnXSmNDw_17_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">65000</us-gaap:DeferredIncomeTaxLiabilities>
    <us-gaap:DeferredTaxAssetsLiabilitiesNet
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_-j6A4GpdCUyrlsUhxNEFAg_19_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">1719000</us-gaap:DeferredTaxAssetsLiabilitiesNet>
    <us-gaap:DeferredTaxAssetsLiabilitiesNet
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_NLopx-YvP0m0XW0jiBm2RA_19_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">1410000</us-gaap:DeferredTaxAssetsLiabilitiesNet>
    <us-gaap:DeferredTaxAssetsNet
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_F73IcURFSkOHRsrSCmf4ew_21_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">1741000</us-gaap:DeferredTaxAssetsNet>
    <us-gaap:DeferredTaxAssetsNet
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_2prB8Ri3sE6m_Zmu9v6Zaw_21_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">1475000</us-gaap:DeferredTaxAssetsNet>
    <us-gaap:DeferredIncomeTaxLiabilities
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_A15Fx8K1xUi1YRyjgTvU1Q_22_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">22000</us-gaap:DeferredIncomeTaxLiabilities>
    <us-gaap:DeferredIncomeTaxLiabilities
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_01CaM2WwYUi4OJ76WAAFZw_22_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">65000</us-gaap:DeferredIncomeTaxLiabilities>
    <us-gaap:DeferredTaxAssetsLiabilitiesNet
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_DLrRz-S-r0aZQigYuvna7A_24_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">1719000</us-gaap:DeferredTaxAssetsLiabilitiesNet>
    <us-gaap:DeferredTaxAssetsLiabilitiesNet
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_7RA1pxA3wEaa9qxGSLKmQQ_24_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">1410000</us-gaap:DeferredTaxAssetsLiabilitiesNet>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-5"
      id="Narr_NMdHIbljmkKToTcpf2m1MQ"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">13800000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-5"
      id="Narr_8r654qqMEUWPcv5lXdmm5w"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">13000000.0</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-5"
      id="Narr_nmVvDUQrhEyIwMZ1p5WbQA"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">800000</us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount>
    <us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-5"
      id="Narr_3Cf9FNiEtE-b2JbFofTtuA"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">3900000</us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount>
    <us-gaap:UndistributedEarningsOfForeignSubsidiaries
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-5"
      id="Narr_adQNlA1xoEeiHlSAlTsy5g"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">50400000</us-gaap:UndistributedEarningsOfForeignSubsidiaries>
    <us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tb_33_PFe8-9kO-Hfr6L4XZ5w">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;United States and foreign components of loss before provision for income taxes for each of the years ended December&#160;31, were as follows&#160;(in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:40%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:58.93%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.67%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.99%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;white-space:pre-wrap;"&gt;    &lt;/b&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;white-space:pre-wrap;"&gt;    &lt;/b&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;United States&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2,025&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.99%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (4,023)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Foreign&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,886)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (6,460)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Totals&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.67%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 139&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.99%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (10,483)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_Jb8Beo-E9ECPdKkMPnbLbQ_2_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">2025000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_vpDS_1roj0iISH-zqC6lEg_2_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-4023000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_EHTqRNPi806Z8pzYVwvDsA_3_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-1886000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_xeFxU9uwY0WArxbJqxF9gQ_3_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-6460000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_4JdlFzrcTU244YHl6B56Qw_4_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">139000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_IqUN2dRgeEie_5c5x086KQ_4_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-10483000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:OperatingLossCarryforwards
      contextRef="As_Of_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_xJ-GY_vwXUCD4dgoexnKzg"
      decimals="-5"
      id="Narr_4gTg4AFje0e0bmAMF5LMbA"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">21200000</us-gaap:OperatingLossCarryforwards>
    <us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch
      contextRef="As_Of_12_31_2023_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember_xJ-GY_vwXUCD4dgoexnKzg"
      decimals="-5"
      id="Narr_gA4qsmrchkaCw_knVnZb4w"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">100000</us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration
      contextRef="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_inod_CanadianSubsidiariesMember_FCfK_h6Wmky5ntCPvme4fQ"
      decimals="-5"
      id="Narr_c8z9RxU8SEyDG0GDjxRMaA"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">27000000.0</us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsSubjectToExpiration>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsNotSubjectToExpiration
      contextRef="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_inod_CanadianSubsidiariesMember_FCfK_h6Wmky5ntCPvme4fQ"
      decimals="-5"
      id="Narr_iIPzAiNuxEW9ovHTZ3l_tw"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">1400000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsNotSubjectToExpiration>
    <us-gaap:OperatingLossCarryforwards
      contextRef="As_Of_12_31_2023_srt_ConsolidatedEntitiesAxis_inod_GermanAndUnitedKingdomSubsidiariesMember_QTB2moW3pkCwmlm8dntKtw"
      decimals="-5"
      id="Narr_WZPYGpRDzESGllT0nzcb7g"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">1700000</us-gaap:OperatingLossCarryforwards>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-5"
      id="Narr_Gp7ldZQCWUy05seh33f9sA"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">1900000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-5"
      id="Narr_pIDDE_oJjU6nNq7a0JNITw"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">1700000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tb_X0qwAWcsuUiWNuvO7YkAIw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The following table represents a roll forward of the Company&#x2019;s unrecognized tax benefits and associated interest for the&#160;years ended (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:50%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.24%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.22%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Unrecognized Tax &lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Benefits&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Balance at January 1&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,680&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,753&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Decrease for prior year tax positions&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (68)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (290)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Increase for current year tax positions&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 247&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 311&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Interest accrual&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 97&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 67&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Foreign currency remeasurement&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (14)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (161)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:66.4%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Balance at December 31&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.87%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,942&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,680&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_VHKohRZU_kSIBZWR0i9EHg_5_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">1680000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="As_Of_12_31_2021_LPWzI6J5HECBN2kqx3f4aQ"
      decimals="-3"
      id="Tc_V0rQTO7LMkmsDpzEeT8pyA_5_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">1753000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_FzT2InMhdU-R4HpVTaUb4g_6_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">68000</us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_h5PiPvgmtU-JyWseuTiOQQ_6_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">290000</us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_wxZQF8AQQU-BAwWHPzONeQ_7_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">247000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_xc6If8pPhE-IcZMjs_QXBw_7_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">311000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_VMqTPTIw2UupX3aQUzFuwQ_8_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">97000</us-gaap:UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense>
    <us-gaap:UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_FNMSqUlfYEeOv-ZB1s1Tcg_8_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">67000</us-gaap:UnrecognizedTaxBenefitsInterestOnIncomeTaxesExpense>
    <inod:UnrecognizedTaxBenefitsIncreaseDecreasesResultingFromForeignCurrencyTranslation
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_-PIBzyIEbUuZcu_SO10wBQ_9_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">14000</inod:UnrecognizedTaxBenefitsIncreaseDecreasesResultingFromForeignCurrencyTranslation>
    <inod:UnrecognizedTaxBenefitsIncreaseDecreasesResultingFromForeignCurrencyTranslation
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_GOAeDb87ikudoxl2AVpV-Q_9_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">161000</inod:UnrecognizedTaxBenefitsIncreaseDecreasesResultingFromForeignCurrencyTranslation>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_qCxE5JGX9k2iEVUUvN4Uhg_10_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">1942000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_zBiJKTN1x0Cyov9vaTuxXg_10_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">1680000</us-gaap:UnrecognizedTaxBenefits>
    <inod:PercentageForSubsidiaryServiceTax
      contextRef="Duration_9_1_2015_To_9_30_2015_srt_RangeAxis_srt_MinimumMember_-eLS3_HuOkeCrHwAx7hjPw"
      decimals="4"
      id="Narr_xcA2ME89_UqI4G7LtgBw1g"
      unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg">0.1236</inod:PercentageForSubsidiaryServiceTax>
    <inod:PercentageForSubsidiaryServiceTax
      contextRef="Duration_9_1_2015_To_9_30_2015_srt_RangeAxis_srt_MaximumMember_4XA3eW6BaUmV_t9ZghQpdA"
      decimals="2"
      id="Narr_5bTSSMECs0-MJJdOQ5K_0g"
      unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg">0.15</inod:PercentageForSubsidiaryServiceTax>
    <inod:SubsidiaryRevenue
      contextRef="Duration_9_1_2015_To_9_30_2015_WYjG5CShO0SYkZwTcduhiA"
      decimals="-5"
      id="Narr_aSRLm0reuEaRI-yHU1jYQg"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">56000000.0</inod:SubsidiaryRevenue>
    <inod:ReversalOfServiceTaxRefund
      contextRef="Duration_10_1_2016_To_10_31_2016_3W4g1vcmNEmrMg6_uGqOfQ"
      decimals="0"
      id="Narr_Qtq45uAojEuyy_wSl1FbTg"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">121000</inod:ReversalOfServiceTaxRefund>
    <inod:ServiceTaxCreditReceivable
      contextRef="As_Of_10_31_2016_nJYF--Xc_U2SPEcPGZGJBg"
      decimals="-5"
      id="Narr_Bh--qLWFckKZf-S8Ma8jtw"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">800000</inod:ServiceTaxCreditReceivable>
    <inod:LongTermObligationsDisclosureTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tb_2-K24zQPs0OYueO7h2zNig">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;"&gt;7.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Long-term obligations&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;Total long-term obligations as of December 31, 2023 and 2022 consisted of the following (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Pension obligations - accrued pension liability&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,128&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,906&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Settlement agreement &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 50&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Microsoft licenses &lt;sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(1)&lt;/sup&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 911&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,039&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,956&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Less: Current portion of long-term obligations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,261&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 877&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Totals&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,778&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,079&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0pt 115.2pt;"&gt;&lt;span style="font-size:8pt;margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 12pt 0pt;"&gt;&lt;sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(1)&lt;/sup&gt; In March 2023, the Company renewed a vendor agreement to acquire certain additional software licenses, receive technical support and future software upgrades on software licenses through February 2026. Pursuant to this agreement, the Company is contractually liable to pay approximately $0.4 million annually over the term of the agreement.&lt;/p&gt;</inod:LongTermObligationsDisclosureTextBlock>
    <inod:LongTermObligationsDisclosureTableTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tb_vYO1XAtEbEKRA5wmmEV7iQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;Total long-term obligations as of December 31, 2023 and 2022 consisted of the following (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:23.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Pension obligations - accrued pension liability&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,128&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,906&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Settlement agreement &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 50&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Microsoft licenses &lt;sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(1)&lt;/sup&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 911&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8,039&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,956&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Less: Current portion of long-term obligations&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,261&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 877&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;"&gt;Totals&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 6,778&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,079&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0pt 115.2pt;"&gt;&lt;span style="font-size:8pt;margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 12pt 0pt;"&gt;&lt;sup style="font-size:6pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(1)&lt;/sup&gt; In March 2023, the Company renewed a vendor agreement to acquire certain additional software licenses, receive technical support and future software upgrades on software licenses through February 2026. Pursuant to this agreement, the Company is contractually liable to pay approximately $0.4 million annually over the term of the agreement.&lt;/p&gt;</inod:LongTermObligationsDisclosureTableTextBlock>
    <us-gaap:PostemploymentBenefitsLiabilityCurrentAndNoncurrent
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_-hdEexO6t0myJVq983iAYg_4_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">7128000</us-gaap:PostemploymentBenefitsLiabilityCurrentAndNoncurrent>
    <us-gaap:PostemploymentBenefitsLiabilityCurrentAndNoncurrent
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_8R_KyXqyT0OUxuN5sCA4pw_4_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">5906000</us-gaap:PostemploymentBenefitsLiabilityCurrentAndNoncurrent>
    <inod:SettlementAgreementObligations
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_Vt2d2CTOJ0KKjE678_tAwQ_5_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">50000</inod:SettlementAgreementObligations>
    <inod:MicrosoftLicensesObligations
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_vMo6wX5TvUOBc-Tntvndlw_6_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">911000</inod:MicrosoftLicensesObligations>
    <inod:TotalLongTermObligations
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_g_xs4f56QU6R89w2_fU3nw_7_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">8039000</inod:TotalLongTermObligations>
    <inod:TotalLongTermObligations
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_v6l_18vgXUa1AAv8EkDwsg_7_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">5956000</inod:TotalLongTermObligations>
    <inod:CurrentPortionOfLongTermObligations
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_Xa2UVSjvMEiWsfzmvquBdg_8_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">1261000</inod:CurrentPortionOfLongTermObligations>
    <inod:CurrentPortionOfLongTermObligations
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_CQVP9RnzcEOihjR3FlOGVA_8_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">877000</inod:CurrentPortionOfLongTermObligations>
    <inod:NoncurrentPortionOfLongTermObligations
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_8UmsQDBbWk6Ir8MRTeefww_9_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">6778000</inod:NoncurrentPortionOfLongTermObligations>
    <inod:NoncurrentPortionOfLongTermObligations
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_3_fxLlcKDEahKPXCCKMrlQ_9_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">5079000</inod:NoncurrentPortionOfLongTermObligations>
    <inod:LicensesObligationsAmountPayableAnnually
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-5"
      id="Narr_8_JgoNl5MEq2MApgqSgp1A"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">400000</inod:LicensesObligationsAmountPayableAnnually>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tb_trtUtfhmGUGMn5_a0qEfrw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;"&gt;8.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Commitments and contingencies &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Litigation&#160;- &lt;/b&gt;In 2008, a judgment was rendered in the Philippines against a Philippine subsidiary of the Company that is no longer active and purportedly also against Innodata&#160;Inc., in favor of certain former employees of the Philippine subsidiary. The potential payment amount aggregates to approximately $5.9 million, plus legal interest that accrued at 12% per annum from August 13, 2008 to June 30, 2013, and thereafter accrued and continues to accrue at 6% per annum. The potential payment amount as expressed in U.S. dollars varies with the Philippine peso to U.S. dollar exchange rate. In December&#160;2017, a group of 97 of the former employees of the Philippine subsidiary indicated that they proposed to record the judgment as to themselves in New Jersey. In January&#160;2018, in response to an action initiated by Innodata&#160;Inc., the United States District Court for the District of New Jersey (&#x201c;USDC&#x201d;) entered a preliminary injunction that enjoins these former employees from pursuing or seeking recognition or enforcement of the judgment against Innodata&#160;Inc. in the U.S. during the pendency of the action and until further order of the USDC. In June&#160;2018, the USDC entered a consent order administratively closing the action subject to return of the action to the active docket upon the written request of Innodata&#160;Inc. or the former employees, with the USDC retaining jurisdiction over the matter and the preliminary injunction remaining in full force and effect.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company is also subject to various other legal proceedings and claims that have arisen in the ordinary course of business.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;While management currently believes that the ultimate outcome of these proceedings will not have a material adverse effect on the Company&#x2019;s consolidated financial position or overall trends in consolidated results of operations, litigation is subject to inherent uncertainties. Substantial recovery against the Company in the above-referenced Philippine action could have a material adverse impact on the Company, and unfavorable rulings or recoveries in the other proceedings could have a material adverse impact on the consolidated operating results in the period in which the ruling or recovery occurs. In addition, the Company&#x2019;s estimate of the potential impact on the Company&#x2019;s consolidated financial position or overall consolidated results of operations for the above referenced legal proceedings could change in the future.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company&#x2019;s legal accruals related to legal proceedings and claims are based on the Company&#x2019;s determination of whether or not a loss is probable. The Company reviews outstanding proceedings and claims with external counsel to assess probability and estimates of loss. The accruals are adjusted if necessary. While the Company intends to defend these matters vigorously, adverse outcomes that it estimates could reach approximately $450,000 in the aggregate beyond recorded amounts are reasonably possible. If circumstances change, the Company may be required to record adjustments that could be material to its reported consolidated financial condition and results of operations.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Foreign Currency&#160;&lt;/b&gt;- To the extent that the currencies of the Company&#x2019;s production facilities located in the Philippines, India, Sri Lanka and Israel fluctuate, the Company is subject to risks of changing costs of production after pricing is established for certain customer projects. In addition, the Company is exposed to the risk of foreign currency fluctuation on the non-U.S. dollar denominated revenues, and on the monetary assets and liabilities held by its foreign subsidiaries that are denominated in local currency.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Indemnifications&#160;&lt;/b&gt;- The Company is obligated under certain circumstances to indemnify directors, officers and certain employees against costs and liabilities incurred in actions or threatened actions brought against such individuals because such individuals acted in the capacity of director, officer or fiduciary of the Company. In addition, the Company has contracts with certain customers pursuant to which the Company has agreed to indemnify the customer for certain specified and limited claims under such contract. These indemnification obligations occur in the ordinary course of business and, in many cases, do not include a limit on potential maximum future payments. As of December 31, 2023, the Company has not recorded a liability for any obligations arising as a result of these indemnification obligations.&lt;/p&gt;</us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <us-gaap:LitigationReserve
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-5"
      id="Narr_8un5B1R-O0SZ210boDoZdg"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">5900000</us-gaap:LitigationReserve>
    <inod:InterestRateDescriptionLitigation
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Narr_RqGn4yXWmk-Z6rnbVHtLdw">plus legal interest that accrued at 12% per annum from August 13, 2008 to June 30, 2013, and thereafter accrued and continues to accrue at 6% per annum</inod:InterestRateDescriptionLitigation>
    <us-gaap:LitigationSettlementExpense
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="0"
      id="Narr_OYBaPIf4aEqp1fcFqCAHeA"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">450000</us-gaap:LitigationSettlementExpense>
    <us-gaap:LesseeOperatingLeasesTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tb_THag0Gf-wk-KHCxFRaGSag">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;9.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Operating Leases&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company has various lease agreements for its offices and service delivery centers. The Company has determined that the risks and benefits related to the leased properties are retained by the lessors. Accordingly, these are accounted for as operating leases.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;These lease agreements are for terms ranging from &lt;span style="-sec-ix-hidden:Hidden_e1fpDG-ap0y2l40728ofbQ;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"&gt;three&lt;/span&gt;&lt;/span&gt; to eleven years and, in most cases, provide for rental escalations ranging from 1.75% to 15%. Most of these agreements are renewable at the mutual consent of the parties to the contract.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company recognizes an operating lease liability and right-of-use asset in compliance with current lease accounting standard ASC 842. The amount of right-of use asset is equal to the present value of the remaining lease payments discounted using the incremental borrowing rate of each respective country. Modifications, if any are recalculated and corresponding adjustments are made to the carrying values of both the lease liability and right-of-use assets.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;A right-of-use asset is measured as the amount of the lease liability adjusted for the amount of deferred straight-line rent, prepaid rent and lease incentive allowances previously recognized.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The table below summarizes the amounts recognized in the financial statements related to operating leases for the years presented (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:70%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:51.93%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.02%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:45.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year&#160;Ended&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:21.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:21.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Rent expense for long-term operating leases&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,252&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,336&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Rent expense for short-term leases&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 305&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 502&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Total rent expense&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,557&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.02%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,838&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The following table presents the maturity profile of the Company&#x2019;s operating lease liabilities based on the contractual undiscounted payments with a reconciliation of these amounts to the remaining net present value of the operating lease liability reported in the consolidated balance sheet as of December 31, 2023 (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:40%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:74.93%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.56%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:74.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Year&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:20.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amount&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.56%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,292&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;2025&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,316&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;2026&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.56%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,348&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;2027&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,344&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;2028&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.56%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 965&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;2029 and thereafter&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 869&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Total lease payments&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.56%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,134&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Less: Interest&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,651)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Net present value of lease liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.56%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,483&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Current portion&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.56%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 782&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Long-term portion&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,701&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 18pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.56%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,483&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The weighted average remaining lease terms and discount rates for all of our operating leases as of December 31, 2023 were as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:40%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:72.33%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.81%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Weighted-average lease term remaining&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt;63 months&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Weighted-average discount rate&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;9.45%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:LesseeOperatingLeasesTextBlock>
    <us-gaap:LesseeOperatingLeaseTermOfContract
      contextRef="As_Of_12_31_2023_srt_RangeAxis_srt_MaximumMember_PIfZGM-P3EK34TOf7oCTgw"
      id="Narr_Pnrp3Bi_FU2RCGATIv01fA">P11Y</us-gaap:LesseeOperatingLeaseTermOfContract>
    <inod:PercentageOfRentalEscalations
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_RangeAxis_srt_MinimumMember__WjpBOXPAEK2_4FlqeOGLg"
      decimals="4"
      id="Narr_UjRCw2aXgEyStaoNYyYo4w"
      unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg">0.0175</inod:PercentageOfRentalEscalations>
    <inod:PercentageOfRentalEscalations
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_RangeAxis_srt_MaximumMember_siGZ1qI_hkWqxx2Z-aZmRg"
      decimals="2"
      id="Narr_MPBkUKuTR02HLYHS4VdsDg"
      unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg">0.15</inod:PercentageOfRentalEscalations>
    <inod:ScheduleOfOperatingLeaseExpenseRecognizedInFinancialStatementsTableTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tb_EPw-KnTOPECTOO_OPM2Pyw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The table below summarizes the amounts recognized in the financial statements related to operating leases for the years presented (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:70%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:51.93%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.02%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:45.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Year&#160;Ended&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:21.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:21.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.02%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Rent expense for long-term operating leases&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,252&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.02%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,336&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Rent expense for short-term leases&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 305&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 502&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Total rent expense&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,557&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.02%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,838&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</inod:ScheduleOfOperatingLeaseExpenseRecognizedInFinancialStatementsTableTextBlock>
    <us-gaap:OperatingLeaseExpense
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_inod_LongTermOperatingLeaseMember_DXOfr4xtMU-oKVzTsYBrRw"
      decimals="-3"
      id="Tc_IodTjJVVAk2d5BOvcoBzdQ_4_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">1252000</us-gaap:OperatingLeaseExpense>
    <us-gaap:OperatingLeaseExpense
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_inod_LongTermOperatingLeaseMember_tBWogeeDH0qj_QiwQfDvLQ"
      decimals="-3"
      id="Tc_7APX-2kiNkGSw1C3tPxccg_4_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">1336000</us-gaap:OperatingLeaseExpense>
    <us-gaap:OperatingLeaseExpense
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_PropertyPlantAndEquipmentByTypeAxis_inod_ShortTermOperatingLeaseMember_x_QUpyv9IE-7cVpAPBGSdg"
      decimals="-3"
      id="Tc_bRQTR6dD-ky5gzyC8aCAeA_5_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">305000</us-gaap:OperatingLeaseExpense>
    <us-gaap:OperatingLeaseExpense
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_PropertyPlantAndEquipmentByTypeAxis_inod_ShortTermOperatingLeaseMember_El57wvTweE6UylGYfiFmKg"
      decimals="-3"
      id="Tc_RlM3_Ok4ZU2rzYmDcFy0dQ_5_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">502000</us-gaap:OperatingLeaseExpense>
    <us-gaap:OperatingLeaseExpense
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_RQhGJoXFFUyJEC7dGkqwjw_6_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">1557000</us-gaap:OperatingLeaseExpense>
    <us-gaap:OperatingLeaseExpense
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc__u3W21rDqkucJkiDNeV5wg_6_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">1838000</us-gaap:OperatingLeaseExpense>
    <us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tb_GZT41eErG0iAQiUK8D442g">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The following table presents the maturity profile of the Company&#x2019;s operating lease liabilities based on the contractual undiscounted payments with a reconciliation of these amounts to the remaining net present value of the operating lease liability reported in the consolidated balance sheet as of December 31, 2023 (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:40%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:74.93%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.56%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:74.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Year&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:20.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amount&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.56%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,292&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;2025&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,316&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;2026&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.56%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,348&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;2027&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,344&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;2028&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.56%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 965&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;2029 and thereafter&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 869&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Total lease payments&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.56%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 7,134&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Less: Interest&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (1,651)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Net present value of lease liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.56%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,483&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.56%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Current portion&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.56%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 782&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Long-term portion&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,701&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:74.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 18pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.56%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5,483&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_gdyt0ztC3UGB2NxOUr_2gQ_3_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">1292000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_q0oEhSCUE02LaVsQf8Q4jQ_4_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">1316000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_QvjkfdfWCUm_8QBqqmXebA_5_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">1348000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_LyDDQPrjsEae8crA_pcT3A_6_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">1344000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_zN5eHVG3XU6uLPLGVsyBlQ_7_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">965000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive>
    <inod:LesseeOperatingLeaseLiabilityToBePaidThereafter
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_JHAyDkRSnESOFAzxUt-_kw_8_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">869000</inod:LesseeOperatingLeaseLiabilityToBePaidThereafter>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_glywoQ7NNkW-fKut4BoNjw_9_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">7134000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_6XNg6daRIk2R9cJGgeQ95A_10_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">1651000</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:OperatingLeaseLiability
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_69V_vY0ZCkW518QNPGcTqQ_11_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">5483000</us-gaap:OperatingLeaseLiability>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_wd3DbznyXEmVl6nSAGIAsg_13_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">782000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_NmoWzh7uJ0WkOjGsl7KlwQ_14_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">4701000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiability
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_J6Ubjgn0IUuvG-zK2JUp7w_15_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">5483000</us-gaap:OperatingLeaseLiability>
    <inod:ScheduleOfWeightedAverageRemainingLeaseTermsAndDiscountRatesTableTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tb_jpGgPccM9ECw6Z15GULsrw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The weighted average remaining lease terms and discount rates for all of our operating leases as of December 31, 2023 were as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:40%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:72.33%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.81%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.33%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Weighted-average lease term remaining&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt;63 months&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.22%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72.33%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Weighted-average discount rate&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:20.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;9.45%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</inod:ScheduleOfWeightedAverageRemainingLeaseTermsAndDiscountRatesTableTextBlock>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      id="Tc_bb6BQg9hekGvFBqRusNWlw_1_2">P63M</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="4"
      id="Tc_N3Qpf40XE0-mbZ0nnFTNLg_2_2"
      unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg">0.0945</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tb_HhF5T6uKf0uXerk73kBaWg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;"&gt;10.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Pension Benefits&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;U.S. Defined Contribution Pension Plan&#160;- &lt;/b&gt;The Company has a defined contribution plan qualified under Section&#160;401(k)&#160;of the&#160;Internal&#160;Revenue&#160;Code, pursuant to which substantially all of its U.S. employees are eligible to participate after completing six&#160;months of service. Participants may elect to contribute a portion of their compensation to the plan. Under the plan, the Company has the discretion to match a portion of participants&#x2019; contributions. For the&#160;years ended December 31, 2023 and 2022, the Company did not make any matching contributions.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;Most of the non-U.S. subsidiaries provide for government-mandated defined pension benefits. For certain of these subsidiaries, vested eligible employees are provided a lump sum payment upon retiring from the Company at a defined age. The lump sum amount is based on the salary and tenure as of retirement date. Other non-U.S. subsidiaries provide for a lump sum payment to vested employees on retirement, death, incapacitation or termination of employment, based upon the salary and tenure as of the date employment ceases. The liability for such defined benefit obligations is determined and provided on the basis of actuarial valuations. As of December 31, 2023, these plans were unfunded. Pension expense for our foreign subsidiaries totaled approximately $1.2 million and $1.1 million for the&#160;years ended December 31, 2023 and 2022, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The following tables set out the status of the non-U.S. pension benefits and the amounts recognized in the Company&#x2019;s consolidated financial statements and the components of pension costs for the years ended December 31, 2023 and 2022 were as follows (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt;"&gt;Benefit Obligations:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Projected benefit obligation at beginning of the year&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,906&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 6,839&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Service cost&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 568&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 592&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="-sec-ix-hidden:Hidden_aQtP6P0A1kWD3BSZJhu5aw;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;Interest cost&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 478&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 352&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Actuarial loss (gain)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 324&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (713)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Foreign currency exchange rates changes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 54&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (862)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Curtailment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (48)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Benefits paid&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (202)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (254)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Projected benefit obligation at end of the year&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,128&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,906&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The Company incurred an actuarial loss of $0.3 million for the year ended December 31, 2023, and an actuarial gain of $0.7 million for the year ended December 31, 2022. This was mainly due to changes in the discount rates used. Actuarial (gains) losses are recorded as part of other comprehensive income and are not reflected as part of net periodic pension cost.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt;"&gt;Components of Net Periodic Pension Cost:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:40%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:60.18%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.96%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.96%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:60.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:60.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:60.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Service cost &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 568&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 592&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:60.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Interest cost &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 478&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 352&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:60.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Curtailment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (16)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:60.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="-sec-ix-hidden:Hidden_de-PhSVLS0-kn7qLcGpriA;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;Actuarial loss recognized&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 147&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 210&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:60.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net periodic pension cost &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.96%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,193&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.96%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,138&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The accumulated benefit obligation, which represents benefits earned to date, was approximately $3.9 million and $3.2&#160;million for each of the years ended December 31, 2023 and 2022.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;Amounts recognized in the consolidated balance sheets for the&#160;years ended December 31, 2023 and 2022 consisted of the following (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:45%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:64.6%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.11%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.52%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.11%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.52%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Current accrued benefit cost&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 880&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 828&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Non-current accrued benefit cost&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 6,248&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,078&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total amount recognized&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.52%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,128&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.52%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,906&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;Current accrued benefit cost for pension benefits was included in the current portion of long-term obligations in the consolidated balance sheets. Non-current accrued benefit cost for pension benefits was included in long-term obligations, net of current portion, in the consolidated balance sheets.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;Actuarial assumptions for all non-U.S. plans are described below. The discount rates are used to measure the&#160;year-end benefit obligations and the earnings effects for the subsequent&#160;year. The assumptions for the&#160;years ended December 31, 2023 and 2022 were as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:55%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:58.75%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.51%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.99%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Discount rate&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;6.73%-12.8%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.99%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;5.13%-20%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Rate of increase in compensation level&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;7.5%-14.5%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;7.5%-20%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;"&gt;Estimated Future Benefit Payments:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;As of December 31, 2023, the following benefit payments, which reflect expected future service, as appropriate, were expected to be paid (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:40%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:top;width:75.04%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="position:absolute;top:0pt;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.77%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:17.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="position:absolute;top:0pt;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:75.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Year&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:17.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amount&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 889&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2025&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 431&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2026&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 267&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2027&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 749&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2028&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 175&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2029 to 2032&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,108&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.77%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,619&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock>
    <inod:DefinedContributionPensionPlanPeriodOfServiceToBecomeEligible
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Narr_0E5ruhx9tUOO2caMr6KHOA">P6M</inod:DefinedContributionPensionPlanPeriodOfServiceToBecomeEligible>
    <us-gaap:PensionExpense
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_SubsidiariesMember_DFFEGF58rE6oeVOhMg0aNg"
      decimals="-5"
      id="Narr_tv6GsJNrk0mGVdKczTMp2A"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">1200000</us-gaap:PensionExpense>
    <us-gaap:PensionExpense
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_srt_SubsidiariesMember_EVm84t8OQkia1k5chZAOgA"
      decimals="-5"
      id="Narr_YXk7XWcGdEmRbef9MCRAIQ"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">1100000</us-gaap:PensionExpense>
    <us-gaap:ScheduleOfChangesInAccumulatedPostemploymentBenefitObligationsTableTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tb_sTiV1SPRuUSWZYDGisIPYA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The following tables set out the status of the non-U.S. pension benefits and the amounts recognized in the Company&#x2019;s consolidated financial statements and the components of pension costs for the years ended December 31, 2023 and 2022 were as follows (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt;"&gt;Benefit Obligations:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Projected benefit obligation at beginning of the year&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,906&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 6,839&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Service cost&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 568&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 592&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="-sec-ix-hidden:Hidden_aQtP6P0A1kWD3BSZJhu5aw;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;Interest cost&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 478&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 352&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Actuarial loss (gain)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 324&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (713)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Foreign currency exchange rates changes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 54&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (862)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Curtailment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (48)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Benefits paid&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (202)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (254)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Projected benefit obligation at end of the year&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.7%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,128&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.67%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,906&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfChangesInAccumulatedPostemploymentBenefitObligationsTableTextBlock>
    <us-gaap:DefinedBenefitPlanBenefitObligation
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_ZUbKpjo9qUCaJcXv3eyqKQ_3_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">5906000</us-gaap:DefinedBenefitPlanBenefitObligation>
    <us-gaap:DefinedBenefitPlanBenefitObligation
      contextRef="As_Of_12_31_2021_LPWzI6J5HECBN2kqx3f4aQ"
      decimals="-3"
      id="Tc_XXI0-vkKTkqIruSY1Ys8Zw_3_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">6839000</us-gaap:DefinedBenefitPlanBenefitObligation>
    <us-gaap:DefinedBenefitPlanServiceCost
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_eKMKiwvG5kGKK_FWvn24OQ_4_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">568000</us-gaap:DefinedBenefitPlanServiceCost>
    <us-gaap:DefinedBenefitPlanServiceCost
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_XFKlhqteek6RZV_sfGnfdQ_4_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">592000</us-gaap:DefinedBenefitPlanServiceCost>
    <us-gaap:DefinedBenefitPlanInterestCost
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_h4ZIFXTEsk20R2uZslY-8w_5_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">478000</us-gaap:DefinedBenefitPlanInterestCost>
    <us-gaap:DefinedBenefitPlanInterestCost
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_YtQwNKDkskyK6TIAFPrHaQ_5_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">352000</us-gaap:DefinedBenefitPlanInterestCost>
    <us-gaap:DefinedBenefitPlanActuarialGainLoss
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_KC5Cqh9lW0OzXhKRuj3xDA_6_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-324000</us-gaap:DefinedBenefitPlanActuarialGainLoss>
    <us-gaap:DefinedBenefitPlanActuarialGainLoss
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_EMtoCOa9x0mOTuXeGLz4EA_6_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">713000</us-gaap:DefinedBenefitPlanActuarialGainLoss>
    <us-gaap:DefinedBenefitPlanPlanAssetsForeignCurrencyTranslationGainLoss
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_lkUCMLwWj0eAm02RvakTkg_7_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">54000</us-gaap:DefinedBenefitPlanPlanAssetsForeignCurrencyTranslationGainLoss>
    <us-gaap:DefinedBenefitPlanPlanAssetsForeignCurrencyTranslationGainLoss
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_Tzh9bZ7QI0aEMAAEqjfanA_7_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-862000</us-gaap:DefinedBenefitPlanPlanAssetsForeignCurrencyTranslationGainLoss>
    <us-gaap:DefinedBenefitPlanCurtailments
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_V6WXrWJ-BEiqr737Lrl8rQ_8_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-48000</us-gaap:DefinedBenefitPlanCurtailments>
    <us-gaap:DefinedBenefitPlanBenefitObligationBenefitsPaid
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_x0qsE6pSikCg2hwSHoWZjw_9_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">202000</us-gaap:DefinedBenefitPlanBenefitObligationBenefitsPaid>
    <us-gaap:DefinedBenefitPlanBenefitObligationBenefitsPaid
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_mjsnHf-cyUie9SaIxX3P0w_9_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">254000</us-gaap:DefinedBenefitPlanBenefitObligationBenefitsPaid>
    <us-gaap:DefinedBenefitPlanBenefitObligation
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_0uFCxR7l_U-tfQzizJbt5A_10_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">7128000</us-gaap:DefinedBenefitPlanBenefitObligation>
    <us-gaap:DefinedBenefitPlanBenefitObligation
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_vm-XaGXu-Eqs9Deigmloqw_10_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">5906000</us-gaap:DefinedBenefitPlanBenefitObligation>
    <us-gaap:DefinedBenefitPlanActuarialGainLoss
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-5"
      id="Narr_GluCSZzxHUan1Es6OLwgFw"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-300000</us-gaap:DefinedBenefitPlanActuarialGainLoss>
    <us-gaap:DefinedBenefitPlanActuarialGainLoss
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-5"
      id="Narr_42WjtydTsE-oeIgn4TMF7A"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">700000</us-gaap:DefinedBenefitPlanActuarialGainLoss>
    <us-gaap:ScheduleOfNetBenefitCostsTableTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tb_y-v9r-1k-kakXo5Go1JlVg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:40%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:60.18%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.96%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.96%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:60.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:60.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:60.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Service cost &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 568&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 592&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:60.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Interest cost &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 478&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 352&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:60.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Curtailment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (16)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:60.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="-sec-ix-hidden:Hidden_de-PhSVLS0-kn7qLcGpriA;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"&gt;Actuarial loss recognized&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 147&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 210&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:60.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net periodic pension cost &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.96%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,193&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.96%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,138&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfNetBenefitCostsTableTextBlock>
    <us-gaap:DefinedBenefitPlanServiceCost
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_I_XtDjQ9wUy5CejvL2zwnQ_3_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">568000</us-gaap:DefinedBenefitPlanServiceCost>
    <us-gaap:DefinedBenefitPlanServiceCost
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_j4zTMDh6iUieiROtcX-V9w_3_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">592000</us-gaap:DefinedBenefitPlanServiceCost>
    <us-gaap:DefinedBenefitPlanInterestCost
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_MhZ__4CmDkuIQInBgg5LmA_4_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">478000</us-gaap:DefinedBenefitPlanInterestCost>
    <us-gaap:DefinedBenefitPlanInterestCost
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_Nmln9CDF_UOinL7m_AARLQ_4_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">352000</us-gaap:DefinedBenefitPlanInterestCost>
    <us-gaap:DefinedBenefitPlanRecognizedNetGainLossDueToCurtailments
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_g3ANs58eXkS6hF-et5myJQ_5_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">16000</us-gaap:DefinedBenefitPlanRecognizedNetGainLossDueToCurtailments>
    <us-gaap:DefinedBenefitPlanActuarialGainLossImmediateRecognitionAsComponentInNetPeriodicBenefitCostCredit
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_vEUF_a3srEmvLr9Py49J-w_6_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-147000</us-gaap:DefinedBenefitPlanActuarialGainLossImmediateRecognitionAsComponentInNetPeriodicBenefitCostCredit>
    <us-gaap:DefinedBenefitPlanActuarialGainLossImmediateRecognitionAsComponentInNetPeriodicBenefitCostCredit
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_lY3Xj9t5AUG-i1H3l24n2w_6_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-210000</us-gaap:DefinedBenefitPlanActuarialGainLossImmediateRecognitionAsComponentInNetPeriodicBenefitCostCredit>
    <us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_HzKEzbLq3EWgRedce0ErcQ_7_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">1193000</us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost>
    <us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_Tv05aQI4jUymrr8xmiImKg_7_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">1138000</us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost>
    <us-gaap:DefinedBenefitPlanAccumulatedBenefitObligation
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-5"
      id="Narr_4UrJU8HANkurBQjMfWm7oQ"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">3900000</us-gaap:DefinedBenefitPlanAccumulatedBenefitObligation>
    <us-gaap:DefinedBenefitPlanAccumulatedBenefitObligation
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-5"
      id="Narr_vKKVU-hU9UuAfSmMaFw-Rw"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">3200000</us-gaap:DefinedBenefitPlanAccumulatedBenefitObligation>
    <us-gaap:ScheduleOfAmountsRecognizedInBalanceSheetTableTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Group_2eboXVrqCE67ROP8I6X8xg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;Amounts recognized in the consolidated balance sheets for the&#160;years ended December 31, 2023 and 2022 consisted of the following (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:45%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:64.6%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.11%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.52%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.11%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.52%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.52%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Current accrued benefit cost&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 880&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.52%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 828&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Non-current accrued benefit cost&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 6,248&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,078&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:64.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total amount recognized&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.52%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,128&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.05%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.52%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,906&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfAmountsRecognizedInBalanceSheetTableTextBlock>
    <us-gaap:PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_5532kI3Hw0KOmYYplfWAkA_3_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">880000</us-gaap:PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities>
    <us-gaap:PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_bO1O-EEpa0mqFnsL8AmhXg_3_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">828000</us-gaap:PensionAndOtherPostretirementDefinedBenefitPlansCurrentLiabilities>
    <us-gaap:PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_5SCrYlydgEqvpaTJJNQJVg_4_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">6248000</us-gaap:PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent>
    <us-gaap:PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_xuCIan6KcU-hKsN8HQenKw_4_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">5078000</us-gaap:PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesNoncurrent>
    <us-gaap:PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesCurrentAndNoncurrent
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_he7qHP5snUCXBYd2VccWZA_5_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">7128000</us-gaap:PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesCurrentAndNoncurrent>
    <us-gaap:PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesCurrentAndNoncurrent
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_UGci74BajU6xE9Cwuj6Iog_5_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">5906000</us-gaap:PensionAndOtherPostretirementDefinedBenefitPlansLiabilitiesCurrentAndNoncurrent>
    <us-gaap:ScheduleOfAssumptionsUsedTableTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tb_dx762M_5hEGi6dEhy6FgyA">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:55%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:58.75%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.51%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.99%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.75%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Discount rate&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.51%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;6.73%-12.8%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.36%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.99%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;5.13%-20%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:58.75%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Rate of increase in compensation level&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.51%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;7.5%-14.5%&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.99%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;7.5%-20%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfAssumptionsUsedTableTextBlock>
    <us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate
      contextRef="As_Of_12_31_2023_srt_RangeAxis_srt_MinimumMember_YmaTx6N9qEuCsBJuq0OvGw"
      decimals="4"
      id="Narr_Qj8QFcHFg0uuPuMhQZeR-g"
      unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg">0.0673</us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate>
    <us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate
      contextRef="As_Of_12_31_2023_srt_RangeAxis_srt_MaximumMember_PIfZGM-P3EK34TOf7oCTgw"
      decimals="4"
      id="Narr_JX5lgWS9Qk2DywAT8vtPTw"
      unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg">0.128</us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate>
    <us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate
      contextRef="As_Of_12_31_2022_srt_RangeAxis_srt_MinimumMember_nGIL2e5ce024p70y-Q_Ycw"
      decimals="4"
      id="Narr_kzQLJPva00On0MLGEyfLvQ"
      unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg">0.0513</us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate>
    <us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate
      contextRef="As_Of_12_31_2022_srt_RangeAxis_srt_MaximumMember_1QamParElEGLqoWNrgblfg"
      decimals="4"
      id="Narr_orNArdOBk0-_AnHkq1EkOg"
      unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg">0.20</us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationDiscountRate>
    <us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationRateOfCompensationIncrease
      contextRef="As_Of_12_31_2023_srt_RangeAxis_srt_MinimumMember_YmaTx6N9qEuCsBJuq0OvGw"
      decimals="3"
      id="Narr_zcLbOR-n9kGggiBFmmZm9w"
      unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg">0.075</us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationRateOfCompensationIncrease>
    <us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationRateOfCompensationIncrease
      contextRef="As_Of_12_31_2023_srt_RangeAxis_srt_MaximumMember_PIfZGM-P3EK34TOf7oCTgw"
      decimals="3"
      id="Narr_NnKKdRPNXkeq4dgqmBLWdA"
      unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg">0.145</us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationRateOfCompensationIncrease>
    <us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationRateOfCompensationIncrease
      contextRef="As_Of_12_31_2022_srt_RangeAxis_srt_MinimumMember_nGIL2e5ce024p70y-Q_Ycw"
      decimals="3"
      id="Narr_PxYFXSsEzEetyT_LU-9_1A"
      unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg">0.075</us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationRateOfCompensationIncrease>
    <us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationRateOfCompensationIncrease
      contextRef="As_Of_12_31_2022_srt_RangeAxis_srt_MaximumMember_1QamParElEGLqoWNrgblfg"
      decimals="2"
      id="Narr_iPhGVo1eCkaVCYxzVAU5lQ"
      unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg">0.20</us-gaap:DefinedBenefitPlanAssumptionsUsedCalculatingBenefitObligationRateOfCompensationIncrease>
    <us-gaap:ScheduleOfExpectedBenefitPaymentsTableTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tb_aSYNrZObdkaPjm3BPI7otw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;As of December 31, 2023, the following benefit payments, which reflect expected future service, as appropriate, were expected to be paid (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:40%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:top;width:75.04%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="position:absolute;top:0pt;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.77%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:17.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="position:absolute;top:0pt;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:top;width:75.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;"&gt;Year&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;white-space:nowrap;width:17.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Amount&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2024&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 889&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2025&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 431&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2026&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 267&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2027&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.77%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 749&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2028&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.77%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 175&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;2029 to 2032&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,108&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:75.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.77%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,619&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:ScheduleOfExpectedBenefitPaymentsTableTextBlock>
    <us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_A1n3SLGTVUerDDksX7zG4g_3_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">889000</us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsNextTwelveMonths>
    <us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsYearTwo
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_FAUPcY2lrU-tlJm2nTAHGQ_4_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">431000</us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsYearTwo>
    <us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsYearThree
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_x7j0QMZIv02qH6oqsEgRkQ_5_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">267000</us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsYearThree>
    <us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFour
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_w7aj-AC9wEywYJr7FdhVxg_6_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">749000</us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFour>
    <us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFive
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_IWPTRlLcRkeLMJXukH2rQw_7_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">175000</us-gaap:DefinedBenefitPlanExpectedFutureBenefitPaymentsYearFive>
    <inod:DefinedBenefitPlanExpectedFutureBenefitPaymentYearSixToYearNine
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_UPgS8SOHbEqDqwazMQRwYA_8_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">5108000</inod:DefinedBenefitPlanExpectedFutureBenefitPaymentYearSixToYearNine>
    <inod:DefinedBenefitPlanExpectedFutureBenefitPayments
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_nXdd8wrjg06bBxw7dwOpvA_9_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">7619000</inod:DefinedBenefitPlanExpectedFutureBenefitPayments>
    <us-gaap:StockholdersEquityNoteDisclosureTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tb_XxqFVU0JVEWJ-NRoh9lc2g">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;"&gt;11.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Capital Stock&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Common Stock&#160;- &lt;/b&gt;The Company is authorized to issue 75,000,000 shares of common stock. Each share of common stock has one vote. Subject to preferences that may be applicable to any outstanding shares of preferred stock, the holders of common stock are entitled to receive ratably such dividends, if any, as may be declared by the Board of Directors. No common stock dividends have been declared to date.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Preferred Stock&#160;- &lt;/b&gt;The Company is authorized to issue 4,998,000 shares of preferred stock. The Board of Directors is authorized to fix the terms, rights, preferences and limitations of the preferred stock and to issue the preferred stock in series that differ as to their relative terms, rights, preferences and limitations.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Common Stock Reserved&#160;- &lt;/b&gt;As of December 31, 2023, the Company had available for future issuance 1,981,406 shares of common stock pursuant to the Company&#x2019;s stock option plans.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Treasury Stock&#160;-&lt;/b&gt; In July 2019, the Company&#x2019;s Board of Directors authorized the repurchase of up to $2.0 million of its common stock in open market or private transactions. There is no expiration date associated with the program. There were no share repurchases in the years ended December 31, 2023 and 2022. As of December 31, 2023, the Company repurchased 1.5 million shares of its common stock under the July 2019 authorization with a value of $1.8 million.&lt;/p&gt;</us-gaap:StockholdersEquityNoteDisclosureTextBlock>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="INF"
      id="Narr_VsM17SKy9Ue_rZIemUaEHg"
      unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw">75000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="INF"
      id="Narr_oD0l-2L1BUi9qTxkKnGg7Q"
      unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw">75000000</us-gaap:CommonStockSharesAuthorized>
    <inod:NumberOfVotesForEachShareOfCommonStock
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="0"
      id="Narr_JmaMhXtJVU-DwusgkBT5jA"
      unitRef="Unit_Divide_Vote_shares_Tei4HNwEo0userS1-1-JTg">1</inod:NumberOfVotesForEachShareOfCommonStock>
    <us-gaap:CommonStockDividendsPerShareDeclared
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="INF"
      id="Narr_X9OAM6iYkUqDPy1jCZasSw"
      unitRef="Unit_Divide_USD_shares_CsCIGYdPT06WFyu9y-PYzg">0</us-gaap:CommonStockDividendsPerShareDeclared>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="INF"
      id="Narr_suMm1HBotUS7ofiQnqObTg"
      unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw">4998000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="INF"
      id="Narr_LW8G2APc90SN0_mihrSTKQ"
      unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw">4998000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:CommonStockCapitalSharesReservedForFutureIssuance
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="INF"
      id="Narr_O0b9yJ_190qpIUYx-tljUQ"
      unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw">1981406</us-gaap:CommonStockCapitalSharesReservedForFutureIssuance>
    <us-gaap:StockRepurchaseProgramAuthorizedAmount1
      contextRef="As_Of_7_31_2019_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_DObil0Cd0kaw8yOhXhDDUQ"
      decimals="-5"
      id="Narr_gvzmQg5-80GlXfA7E_HGvA"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">2000000.0</us-gaap:StockRepurchaseProgramAuthorizedAmount1>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_y6LH4FZyUU6spha9-bbn_A"
      decimals="INF"
      id="Narr_GBJ_-KBQQEWmdyHYWH8UVA"
      unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw">0</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_VWkoYgCEzEuN3t0z8mOTLQ"
      decimals="INF"
      id="Narr_rOi3mzAL5EGIInen4NmGsQ"
      unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw">0</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:StockRepurchaseProgramAuthorizedAmount1
      contextRef="As_Of_12_31_2023_us-gaap_PlanNameAxis_inod_July2019Member_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_W4sF6Z6qyUa03x_b80ZQXQ"
      decimals="-5"
      id="Narr_oiTGuCZQkUOzxkLbKYPFfA"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">1500000</us-gaap:StockRepurchaseProgramAuthorizedAmount1>
    <us-gaap:TreasuryStockCommonValue
      contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_TreasuryStockCommonMember_S7Xu-iAocEyNWI82JzTqfA"
      decimals="-5"
      id="Narr_fK6aDzyZLkWB7-JQ0Bkynw"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">1800000</us-gaap:TreasuryStockCommonValue>
    <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tb_ylH0MLV_t0ayCUYmElJ7tg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;"&gt;12.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Stock Options&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Innodata Inc. 2013 Stock Plan (as amended, the &#x201c;2013 Plan&#x201d;) expired in accordance with its terms on June 3, 2023. Pursuant to the terms of the 2013 Plan, no further awards may be granted under the 2013 Plan following its expiration. As of December 31, 2023, there were 5,567,966 shares of our common stock underlying outstanding options or rights under the 2013 Plan. Outstanding awards made under the 2013 Plan prior to the 2013 Plan&#x2019;s expiration will remain in effect until such awards have been satisfied or terminated in accordance with the terms of the 2013 Plan and such awards.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;On June 9, 2022, stockholders of the Company approved amendments to the Innodata Inc. 2021 Equity Compensation Plan (as amended, the &#x201c;2021 Plan&#x201d;). The number of shares of common stock of Innodata Inc. that may be delivered, purchased or used for reference purposes (with respect to stock appreciation rights or stock units) for awards granted under the 2021 Plan is 4,000,000 (the &#x201c;Share Reserve&#x201d;). Shares subject to an option or stock appreciation right granted under the 2021 Plan count against the Share Reserve as one share for every share granted, and shares subject to any other type of award granted under the &lt;span style="-sec-ix-hidden:Hidden__ctoI4xhnE-wozOg_pPFdA;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"&gt;2021&lt;/span&gt;&lt;/span&gt; Plan count against the Share Reserve as two shares for every share granted for awards granted prior to April 11, 2022, and &lt;span style="-sec-ix-hidden:Hidden_HRVvmxM3skOkjfdZH6FqLA;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-style:normal;font-weight:normal;"&gt;one&lt;/span&gt;&lt;/span&gt; and a half shares for every share granted for awards granted on or after April 11, 2022. Any shares withheld, tendered or exchanged by a participant in the 2021 Plan as full or partial payment to Innodata of the exercise price under an option under the 2021 Plan or in satisfaction of a participant&#x2019;s tax withholding obligations with respect to any award under the 2021 Plan, will not be added back to the Share Reserve.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The fair value of stock options is estimated on the date of grant using the Black-Scholes option pricing model. The weighted-average fair value of the options granted, and weighted-average assumptions were as follows:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:70%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:54.74%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.25%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.24%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:54.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:40.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;For&#160;the&#160;Years&#160;Ended&#160;December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:54.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:54.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:54.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Weighted average fair value of options granted&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2.56&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2.67&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:54.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Risk-free interest rate&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4.34&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;1.94% - 4.09&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:54.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Expected term (years)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 6.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt;3&lt;/span&gt;&lt;span style="font-size:10pt;"&gt;-&lt;/span&gt;&lt;span style="font-size:10pt;"&gt;6.42&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:54.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Expected volatility factor&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 75.35&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;62%-79&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:54.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Expected dividends&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; None &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; None &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company estimates the risk-free interest rate using the U.S. Treasury yield curve for periods equal to the expected term of the options in effect at the time of grant. The expected term of options granted is based on a combination of vesting schedules, term of the options and historical experience. Expected volatility is based on the historical volatility of the Company&#x2019;s common stock. The Company uses an expected dividend yield of zero since it has never declared or paid any dividends on its capital stock.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Stock Options&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;2013 Plan&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;A summary of stock option activity under the Innodata Inc. 2013 Stock Plan, as amended and restated effective June 7, 2016 (the &#x201c;2013 Plan&#x201d;) and changes during each of the years ended December 31, 2023 and 2022 are presented below. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:41.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.23%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted-Average&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted&#160;-Average&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Remaining&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Number&#160;of&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Exercise&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Contractual&#160;Term&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Aggregate&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Options&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Price&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;(years)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Intrinsic&#160;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Outstanding at January 1, 2022&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,536,896&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2.66&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Granted&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,774,558&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4.91&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Exercised&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (248,763)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1.34&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Forfeited/Expired&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (372,201)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 6.55&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Outstanding at December 31, 2022&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 6,690,490&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3.09&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 7.19&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,989,709&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Granted*&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 25,000&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3.31&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Exercised&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,287,462)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2.37&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Forfeited/Expired&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (88,866)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 6.27&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Outstanding at December 31, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.11%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,339,162&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3.22&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 6.38&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 28,640,009&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Exercisable at December 31, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.11%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,475,780&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2.18&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 6.40&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 22,237,334&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Vested and Expected to Vest at December 31, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.11%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,339,162&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3.22&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 6.38&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 28,640,009&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;i style="font-style:italic;"&gt;* Includes &lt;/i&gt;&lt;i style="font-style:italic;"&gt;25,000&lt;/i&gt;&lt;i style="font-style:italic;"&gt; stock options granted to a non-employee member of the Company&#x2019;s advisory board.&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;i style="font-style:italic;"&gt;2021 Plan&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;A summary of option activity under the Innodata Inc. 2021 Equity Compensation Plan, as amended and restated effective as of April 11, 2022 (the &#x201c;2021 Plan&#x201d;) and changes during each of the years ended December 31, 2023 and 2022 are presented below. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:51.73%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted-&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted&#160;-&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Average&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Average&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Remaining&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Aggregate&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Number&#160;of&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Exercise&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Contractual&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Intrinsic&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Options&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Price&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Term&#160;(years)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Outstanding at January 1, 2022&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Granted&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,030,000&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.46&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Exercised&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Forfeited/Expired&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (2,500)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.41&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Outstanding at December 31, 2022&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,027,500&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.46&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 9.75&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Granted&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,000&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13.05&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Exercised&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (63,595)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.59&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Forfeited/Expired&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (43,334)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.41&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Outstanding at December 31, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 923,571&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.41&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 8.76&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,786,252&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Exercisable at December 31, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 386,209&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.34&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 8.74&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,023,601&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Vested and Expected to Vest at December 31, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 923,571&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.41&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 8.76&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,786,252&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 12pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Restricted Stock Awards&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"&gt;There were no outstanding awards of restricted stock under the 2013 Plan or the 2021 Plan (collectively, the &#x201c;Equity Plans&#x201d;) during each of the years ended December 31, 2023 and 2022.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 12pt 0pt;"&gt;&lt;i style="font-style:italic;"&gt;Restricted Stock Units&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"&gt;Restricted stock unit activity under the Equity Plans during each of the years ended December 31, 2023 and 2022 are presented below:&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;min-height:0.0pt;margin:0pt;"&gt;&lt;span style="font-size:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.21%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted-&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Number of&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Average&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Restricted Stock&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Grant&#160;Date&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Units&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Unvested at January 1, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.01%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 700,000&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.21%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5.59&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Granted&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 49,756&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8.29&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Vested&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.01%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.21%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Forfeited/Expired&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Unvested at December 31, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.01%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 749,756&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.21%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5.77&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"&gt;During the year ended December 31, 2023, a total of 49,756 restricted stock units (&#x201c;RSUs&#x201d;) were granted. 28,804 RSUs were granted to employees under the 2013 Plan, and 20,952 RSUs were granted to non-employee directors of the Company under the 2021 Plan. Vesting of the RSUs granted to employees is contingent on continuous employment by the employee for a 12-month period from the date of grant, and each fully vested RSU represents the right to receive one share of the Company&#x2019;s common stock or the fair market value of one share of common stock, at the Company&#x2019;s discretion, and is classified as an equity award. Vesting of the RSUs granted to the non-employee directors occurs on the earlier of (i) one year from the date of grant; or (ii) the date of the Company&#x2019;s 2024 annual meeting of stockholders, and each fully vested RSU represents the right to receive one share of the Company&#x2019;s common stock and is classified as an equity award.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The stock-based compensation expense is recognized on a straight-line basis over a period of 12 months. The fair value of restricted stock units is based on the closing price of the stock at the time of the grant.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.21%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted-&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Number&#160;of&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Average&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Restricted&#160;Stock&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Grant&#160;Date&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Units&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair&#160;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Unvested at January 1, 2022&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.01%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.21%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Granted&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 700,000&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5.59&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Vested&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.01%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.21%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Forfeited/Expired&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Unvested at December 31, 2022&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.01%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 700,000&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.21%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5.59&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;background:#ffff00;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;During the year ended December 31, 2022, 700,000 performance-based RSUs were granted under the Equity Plans and remain non-vested as of December 31, 2023. Vesting of these RSUs is contingent on the achievement of certain financial performance goals and continuation of employment for a defined period. Each RSU vests pursuant to the vesting schedule found in the respective RSU agreement. The fair value of restricted stock units is estimated on the date of grant using the Binomial option pricing model.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The compensation cost related to non-vested stock options not yet recognized as of December 31, 2023 totaled approximately $3.5 million. The weighted-average period over which these costs will be recognized is 15 months.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The compensation cost related to non-vested restricted stock units not yet recognized as of December 31, 2023 totaled approximately $3.1 million. The weighted-average period over which these costs will be recognized is 14 months.&lt;/p&gt;</us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
    <inod:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesUnderlyingOutstandingOptionsOrRights
      contextRef="As_Of_12_31_2023_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_HH5I-e_i2k6rTauI9dQ1nQ"
      decimals="INF"
      id="Narr_AJL8vFHptUGDTlAXPvk-Ug"
      unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw">5567966</inod:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesUnderlyingOutstandingOptionsOrRights>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="As_Of_6_9_2022_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_JCHZ8nRusU6QD_8W_z81hQ"
      decimals="INF"
      id="Narr_rjewH3GE_kWIggcQoLXdKw"
      unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw">4000000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <inod:ReservationOfSharesSubjectToOptionOrStockAppreciationRightsGrantedRatio
      contextRef="As_Of_6_9_2022_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_JCHZ8nRusU6QD_8W_z81hQ"
      decimals="0"
      id="Narr_f-NhNLqa9EqnL-5s35FNng"
      unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg">1</inod:ReservationOfSharesSubjectToOptionOrStockAppreciationRightsGrantedRatio>
    <inod:ReservationOfSharesSubjectToOptionOrStockAppreciationRightsGrantedRatio
      contextRef="As_Of_6_9_2022_us-gaap_PlanNameAxis_inod_AwardsGrantedPriorToApril112022Member_wMCt5JSWAkWsSxylLqjJdA"
      decimals="0"
      id="Narr_WrbVFQZErEKxEJrqO4UVjg"
      unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg">2</inod:ReservationOfSharesSubjectToOptionOrStockAppreciationRightsGrantedRatio>
    <us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tb_QA72gbybPUiNU3zHRqzooQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:70%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:54.74%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.25%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.24%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:54.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:40.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;For&#160;the&#160;Years&#160;Ended&#160;December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:54.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:54.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:54.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Weighted average fair value of options granted&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2.56&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2.67&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:54.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Risk-free interest rate&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4.34&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;1.94% - 4.09&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:54.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Expected term (years)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 6.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt;3&lt;/span&gt;&lt;span style="font-size:10pt;"&gt;-&lt;/span&gt;&lt;span style="font-size:10pt;"&gt;6.42&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:54.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Expected volatility factor&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 75.35&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;62%-79&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:54.74%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Expected dividends&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.18%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.25%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; None &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; None &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_LvKkDDcU8U2445y8aZ9qYw"
      decimals="2"
      id="Tc_srDS9vo1GECffXhIze2aGg_4_3"
      unitRef="Unit_Divide_USD_shares_CsCIGYdPT06WFyu9y-PYzg">2.56</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_xYlmmjRk5EC3kv0aujSB-g"
      decimals="2"
      id="Tc_WPfJ6e_YoU6XO8T3KfVgpw_4_6"
      unitRef="Unit_Divide_USD_shares_CsCIGYdPT06WFyu9y-PYzg">2.67</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_LvKkDDcU8U2445y8aZ9qYw"
      decimals="4"
      id="Tc_Igw_wISQuEa8Ojtcn1XhAA_5_3"
      unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg">0.0434</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MinimumMember_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_3AmCVRd9KEy7rbq1vGpqvA"
      decimals="4"
      id="Narr_8QajANeFgEKw5qjREFr40w"
      unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg">0.0194</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MaximumMember_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_3Pm8X4SEh0iGRRik8CFddQ"
      decimals="4"
      id="Narr_2fW2TehKsUetdmzm51d_gw"
      unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg">0.0409</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_LvKkDDcU8U2445y8aZ9qYw"
      id="Tc_TVt1y2-dnk-smCzFC9hEVQ_6_3">P6Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MinimumMember_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_3AmCVRd9KEy7rbq1vGpqvA"
      id="Narr_OoWT-LzAxUKi6SKKhlipfg">P3Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MaximumMember_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_3Pm8X4SEh0iGRRik8CFddQ"
      id="Narr_pb4FQgsHg0qJC-zxoIu5IA">P6Y5M1D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_LvKkDDcU8U2445y8aZ9qYw"
      decimals="4"
      id="Tc_x-pPFS0KpUWWHMbIOV0rxA_7_3"
      unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg">0.7535</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MinimumMember_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_3AmCVRd9KEy7rbq1vGpqvA"
      decimals="2"
      id="Narr_AGJx4Iqp3U6Rr7n512OjHQ"
      unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg">0.62</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_RangeAxis_srt_MaximumMember_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_3Pm8X4SEh0iGRRik8CFddQ"
      decimals="2"
      id="Narr_dDEqUxf2SEmueChZiF-cBw"
      unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg">0.79</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_LvKkDDcU8U2445y8aZ9qYw"
      decimals="2"
      id="Narr_lrBL6hFIMEWOnEahGMmO7w"
      unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_xYlmmjRk5EC3kv0aujSB-g"
      decimals="2"
      id="Narr_YmU8Bah-fUCcFmhgtkYfDA"
      unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_LvKkDDcU8U2445y8aZ9qYw"
      decimals="2"
      id="Narr_JzuB3oNw9UaQw_EuUY9BqA"
      unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_PlanNameAxis_inod_EquityPlansMember_8-gjq0qjNkifVmyU2oIfwg"
      id="Group_p5BwgQFJ_kixpLBFbY5aQQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:41.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.23%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted-Average&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted&#160;-Average&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Remaining&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Number&#160;of&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Exercise&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Contractual&#160;Term&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Aggregate&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Options&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Price&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;(years)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Intrinsic&#160;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Outstanding at January 1, 2022&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,536,896&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2.66&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Granted&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,774,558&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 4.91&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Exercised&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (248,763)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1.34&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Forfeited/Expired&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (372,201)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 6.55&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Outstanding at December 31, 2022&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 6,690,490&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3.09&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 7.19&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,989,709&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Granted*&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 25,000&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3.31&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Exercised&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.11%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,287,462)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2.37&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Forfeited/Expired&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (88,866)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 6.27&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Outstanding at December 31, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.11%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,339,162&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3.22&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 6.38&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 28,640,009&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Exercisable at December 31, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.11%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,475,780&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 2.18&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 6.40&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 22,237,334&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.11%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.44%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:41.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Vested and Expected to Vest at December 31, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.11%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,339,162&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.44%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3.22&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.81%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 6.38&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 28,640,009&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;i style="font-style:italic;"&gt;* Includes &lt;/i&gt;&lt;i style="font-style:italic;"&gt;25,000&lt;/i&gt;&lt;i style="font-style:italic;"&gt; stock options granted to a non-employee member of the Company&#x2019;s advisory board.&lt;/i&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:51.73%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted-&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted&#160;-&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Average&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-family:'Calibri','Helvetica','sans-serif';font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Average&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Remaining&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Aggregate&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Number&#160;of&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Exercise&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Contractual&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.74%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Intrinsic&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Options&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Price&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Term&#160;(years)&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Outstanding at January 1, 2022&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Granted&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,030,000&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.46&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Exercised&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Forfeited/Expired&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (2,500)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.41&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Outstanding at December 31, 2022&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 1,027,500&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.46&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 9.75&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Granted&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3,000&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 13.05&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Exercised&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (63,595)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4.59&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Forfeited/Expired&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt; (43,334)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.41&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Outstanding at December 31, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 923,571&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.41&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 8.76&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,786,252&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Exercisable at December 31, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 386,209&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.34&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 8.74&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,023,601&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.73%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.07%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.73%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Vested and Expected to Vest at December 31, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 923,571&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.07%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.96%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 3.41&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.08%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;&lt;span style="font-size:10pt;"&gt; 8.76&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.09%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 4,786,252&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="As_Of_12_31_2021_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_B96TBqTFKEaluYlXpr5q7w"
      decimals="INF"
      id="Tc_7ZhmPTZbzk2TeiH1TKS20g_5_2"
      unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw">5536896</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="As_Of_12_31_2021_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_B96TBqTFKEaluYlXpr5q7w"
      decimals="2"
      id="Tc_2UjNQo6DUkSMTSRfXJZpOg_5_5"
      unitRef="Unit_Divide_USD_shares_CsCIGYdPT06WFyu9y-PYzg">2.66</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_zSOyWwkuIk6SeJ-OjpNoVw"
      decimals="INF"
      id="Tc_2BxqrMPtKUGQvLMcLAXirA_6_2"
      unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw">1774558</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_zSOyWwkuIk6SeJ-OjpNoVw"
      decimals="2"
      id="Tc_Fjx63qYioUCUD__bpcABCQ_6_5"
      unitRef="Unit_Divide_USD_shares_CsCIGYdPT06WFyu9y-PYzg">4.91</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_zSOyWwkuIk6SeJ-OjpNoVw"
      decimals="INF"
      id="Tc_bQJ0XVA090m6wrYiV_9I2w_7_2"
      unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw">248763</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_zSOyWwkuIk6SeJ-OjpNoVw"
      decimals="2"
      id="Tc_OQ4rhvDWEEiRVeH44K3bfg_7_5"
      unitRef="Unit_Divide_USD_shares_CsCIGYdPT06WFyu9y-PYzg">1.34</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_zSOyWwkuIk6SeJ-OjpNoVw"
      decimals="INF"
      id="Tc_ddGSVVd2BEmVpvQcy_GIgQ_8_2"
      unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw">372201</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_zSOyWwkuIk6SeJ-OjpNoVw"
      decimals="2"
      id="Tc_ksvXyhbEGE6QXvtoO5m1oQ_8_5"
      unitRef="Unit_Divide_USD_shares_CsCIGYdPT06WFyu9y-PYzg">6.55</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="As_Of_12_31_2022_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_zYDg2tq3n0Oc7toZz_J8Rg"
      decimals="INF"
      id="Tc_NnxpoClMDEa1wQrlpmpeaA_9_2"
      unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw">6690490</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="As_Of_12_31_2022_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_zYDg2tq3n0Oc7toZz_J8Rg"
      decimals="2"
      id="Tc_PXFU4gE400igyIjMBYPfag_9_5"
      unitRef="Unit_Divide_USD_shares_CsCIGYdPT06WFyu9y-PYzg">3.09</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_zSOyWwkuIk6SeJ-OjpNoVw"
      id="Tc_dEq62MBtNUCjNA4jWpMVhw_9_7">P7Y2M8D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="As_Of_12_31_2022_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_zYDg2tq3n0Oc7toZz_J8Rg"
      decimals="0"
      id="Tc_ZGReJJkpBEqEvueR4aAIRQ_9_10"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">5989709</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_E6JzJkGs60iVwm0NiLkEFw"
      decimals="INF"
      id="Tc_Qu1SlIR6mUqnbhnCZ3myhw_10_2"
      unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw">25000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_E6JzJkGs60iVwm0NiLkEFw"
      decimals="2"
      id="Tc_KKyPUvB4DECmSnQYpKlxfQ_10_5"
      unitRef="Unit_Divide_USD_shares_CsCIGYdPT06WFyu9y-PYzg">3.31</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_E6JzJkGs60iVwm0NiLkEFw"
      decimals="INF"
      id="Tc_kd-6zeBztUKXJxGTUNbzKg_11_2"
      unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw">1287462</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_E6JzJkGs60iVwm0NiLkEFw"
      decimals="2"
      id="Tc_b520YGhMmUSt5kC5Y-fH1w_11_5"
      unitRef="Unit_Divide_USD_shares_CsCIGYdPT06WFyu9y-PYzg">2.37</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_E6JzJkGs60iVwm0NiLkEFw"
      decimals="INF"
      id="Tc_s0EOHy_UEE-1EZVl-TLuQg_12_2"
      unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw">88866</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_E6JzJkGs60iVwm0NiLkEFw"
      decimals="2"
      id="Tc_rqemBGI1-UmC22iLRR-yOg_12_5"
      unitRef="Unit_Divide_USD_shares_CsCIGYdPT06WFyu9y-PYzg">6.27</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_uMKO-Xvs5Em3U_KvkoJlBw"
      decimals="INF"
      id="Tc_9NNrNZPSy0KDd7QzJCNSqA_13_2"
      unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw">5339162</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_uMKO-Xvs5Em3U_KvkoJlBw"
      decimals="2"
      id="Tc_QahTD8u_oEq6rc_7iEu0Fw_13_5"
      unitRef="Unit_Divide_USD_shares_CsCIGYdPT06WFyu9y-PYzg">3.22</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_E6JzJkGs60iVwm0NiLkEFw"
      id="Tc_VUWS6iOoM0OrZ7JQ5sq20Q_13_7">P6Y4M17D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_uMKO-Xvs5Em3U_KvkoJlBw"
      decimals="0"
      id="Tc_Im8U2n6m_UaH6Hi2ciI7VA_13_10"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">28640009</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_uMKO-Xvs5Em3U_KvkoJlBw"
      decimals="INF"
      id="Tc_OyuPZr1LDEijvrwk2gX4uA_15_2"
      unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw">3475780</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_uMKO-Xvs5Em3U_KvkoJlBw"
      decimals="2"
      id="Tc_Sl5kENtBYUKQvF7csIMyAQ_15_5"
      unitRef="Unit_Divide_USD_shares_CsCIGYdPT06WFyu9y-PYzg">2.18</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_E6JzJkGs60iVwm0NiLkEFw"
      id="Tc_v-N7XA4ix0q1bikz1pt7rw_15_7">P6Y4M24D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1
      contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_uMKO-Xvs5Em3U_KvkoJlBw"
      decimals="0"
      id="Tc_LzGRbTtdy0-dnr2g7octYQ_15_10"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">22237334</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber
      contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_uMKO-Xvs5Em3U_KvkoJlBw"
      decimals="INF"
      id="Tc_q0eM89a1oUWlOZjxUD3q7w_17_2"
      unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw">5339162</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice
      contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_uMKO-Xvs5Em3U_KvkoJlBw"
      decimals="2"
      id="Tc_20EKbH8Vg0CRAsRXw5tHeg_17_5"
      unitRef="Unit_Divide_USD_shares_CsCIGYdPT06WFyu9y-PYzg">3.22</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_E6JzJkGs60iVwm0NiLkEFw"
      id="Tc_DQ_RhGUOV0icsI7x-q7I1g_17_7">P6Y4M17D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue
      contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_uMKO-Xvs5Em3U_KvkoJlBw"
      decimals="0"
      id="Tc_QCEWjJUmokKVgoU6IWq3LA_17_10"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">28640009</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_TitleOfIndividualAxis_srt_DirectorMember_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_wseCkmiACUS8SZkKg14hiw"
      decimals="INF"
      id="Narr_11VyNN6pLEWPBQ1_RzJ_6g"
      unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw">25000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_2MOLdCzC7E6PZi3R9hLQrA"
      decimals="INF"
      id="Tc_9ioG3g6pBE2khdc3c_EgRw_8_2"
      unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw">1030000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_2MOLdCzC7E6PZi3R9hLQrA"
      decimals="2"
      id="Tc_8S7PDGA-q0OccneWd87mBw_8_5"
      unitRef="Unit_Divide_USD_shares_CsCIGYdPT06WFyu9y-PYzg">3.46</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_2MOLdCzC7E6PZi3R9hLQrA"
      decimals="INF"
      id="Tc_DAiYM2IJ7kekJEhmfvTw_w_10_2"
      unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw">2500</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_2MOLdCzC7E6PZi3R9hLQrA"
      decimals="2"
      id="Tc_1N2zhCtnt0KYhG77oc5y-A_10_5"
      unitRef="Unit_Divide_USD_shares_CsCIGYdPT06WFyu9y-PYzg">3.41</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="As_Of_12_31_2022_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_2Nfr3Br9R0mhG5MRLiyDnA"
      decimals="INF"
      id="Tc_3xeMXeog20GOvfyqVTORzw_11_2"
      unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw">1027500</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="As_Of_12_31_2022_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_2Nfr3Br9R0mhG5MRLiyDnA"
      decimals="2"
      id="Tc_MDUUJhfWME6cH7XPf-lRxw_11_5"
      unitRef="Unit_Divide_USD_shares_CsCIGYdPT06WFyu9y-PYzg">3.46</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_2MOLdCzC7E6PZi3R9hLQrA"
      id="Tc_TD6xxb5cREuLcWQlIUfOaQ_11_7">P9Y9M</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_5qfGOF2UVU2H1ZwgTrg-lQ"
      decimals="INF"
      id="Tc_NLU0S3wqTkmn9Wc131_ktg_12_2"
      unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw">3000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_5qfGOF2UVU2H1ZwgTrg-lQ"
      decimals="2"
      id="Tc_9KPV27XBwkOpRlheuE11mQ_12_5"
      unitRef="Unit_Divide_USD_shares_CsCIGYdPT06WFyu9y-PYzg">13.05</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_5qfGOF2UVU2H1ZwgTrg-lQ"
      decimals="INF"
      id="Tc_vn5R8VCk2U25qis03SoIow_13_2"
      unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw">63595</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_5qfGOF2UVU2H1ZwgTrg-lQ"
      decimals="2"
      id="Tc_5kJmUQCNr0a8wQfJf-CrMA_13_5"
      unitRef="Unit_Divide_USD_shares_CsCIGYdPT06WFyu9y-PYzg">4.59</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_5qfGOF2UVU2H1ZwgTrg-lQ"
      decimals="INF"
      id="Tc_QiKs749bQ065xEHIPCmhwg_14_2"
      unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw">43334</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_5qfGOF2UVU2H1ZwgTrg-lQ"
      decimals="2"
      id="Tc_tutRA5YmvEWGlpuXWjohqA_14_5"
      unitRef="Unit_Divide_USD_shares_CsCIGYdPT06WFyu9y-PYzg">3.41</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_7dfJBm3L5kyLlQmZU_dW2A"
      decimals="INF"
      id="Tc_XuhQnN96GUmYshfjjXu9ww_15_2"
      unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw">923571</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_7dfJBm3L5kyLlQmZU_dW2A"
      decimals="2"
      id="Tc_315xENhsvEKDOFYnVaclnQ_15_5"
      unitRef="Unit_Divide_USD_shares_CsCIGYdPT06WFyu9y-PYzg">3.41</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_5qfGOF2UVU2H1ZwgTrg-lQ"
      id="Tc_Q3-PZA9S-06fNVXWmspf6Q_15_7">P8Y9M3D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_7dfJBm3L5kyLlQmZU_dW2A"
      decimals="0"
      id="Tc_crBsrrkKd0Cd9e6sfW9cvg_15_10"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">4786252</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_7dfJBm3L5kyLlQmZU_dW2A"
      decimals="INF"
      id="Tc_RjlJxNc18kyrnj2fAZR-1A_17_2"
      unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw">386209</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_7dfJBm3L5kyLlQmZU_dW2A"
      decimals="2"
      id="Tc_Z0oNOXmRtkSTDgN-bYOtPA_17_5"
      unitRef="Unit_Divide_USD_shares_CsCIGYdPT06WFyu9y-PYzg">3.34</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_5qfGOF2UVU2H1ZwgTrg-lQ"
      id="Tc_EOPesLG44E6NUUDE4W9aLg_17_7">P8Y8M26D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1
      contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_7dfJBm3L5kyLlQmZU_dW2A"
      decimals="0"
      id="Tc_j5iJyH1HDkWSgV0yXWbbhw_17_10"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">2023601</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber
      contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_7dfJBm3L5kyLlQmZU_dW2A"
      decimals="INF"
      id="Tc_HeijgtFEFUSUUp0yYVnsmg_19_2"
      unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw">923571</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice
      contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_7dfJBm3L5kyLlQmZU_dW2A"
      decimals="2"
      id="Tc_pevoMDkqcEKGTa9yZ1ByGw_19_5"
      unitRef="Unit_Divide_USD_shares_CsCIGYdPT06WFyu9y-PYzg">3.41</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_5qfGOF2UVU2H1ZwgTrg-lQ"
      id="Tc_iGNnVINu-U6Vu-YXVaY9Wg_19_7">P8Y9M3D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue
      contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_7dfJBm3L5kyLlQmZU_dW2A"
      decimals="0"
      id="Tc_50gPjs4BWEiCewvPvgvyuA_19_10"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">4786252</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue>
    <us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_lvzdDusiskOtELZ9OgVYdg"
      id="Group_lj6jK_c0skyFLJy9a8z37Q">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;min-height:0.0pt;margin:0pt;"&gt;&lt;span style="font-size:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.21%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted-&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Number of&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Average&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Restricted Stock&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Grant&#160;Date&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Units&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Unvested at January 1, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.01%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 700,000&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.21%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5.59&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Granted&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 49,756&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 8.29&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Vested&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.01%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.21%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Forfeited/Expired&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Unvested at December 31, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.01%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 749,756&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.21%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 5.77&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.21%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Weighted-&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Number&#160;of&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Average&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Restricted&#160;Stock&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Grant&#160;Date&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Units&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair&#160;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Unvested at January 1, 2022&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.01%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.21%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Granted&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.01%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 700,000&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5.59&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Vested&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.01%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.21%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Forfeited/Expired&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.06%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.21%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:72%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Unvested at December 31, 2022&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:13.01%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 700,000&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.06%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.21%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5.59&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="As_Of_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_0doUN1yxeE6e7yU6ySXQYg"
      decimals="INF"
      id="Tc_KsePK1ICWEmnvEqViIEQCw_6_2"
      unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw">700000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="As_Of_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_0doUN1yxeE6e7yU6ySXQYg"
      decimals="2"
      id="Tc_UMIVsI4m-E-La6RqwDCJxg_6_5"
      unitRef="Unit_Divide_USD_shares_CsCIGYdPT06WFyu9y-PYzg">5.59</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_WgP_-J30yUq6H7aSq2bW6Q"
      decimals="INF"
      id="Tc_yv0h_nzQG0CbALVP-0YkUA_7_2"
      unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw">49756</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_WgP_-J30yUq6H7aSq2bW6Q"
      decimals="2"
      id="Tc_wFTSuCWQ4UmxvvrkfnZXiw_7_5"
      unitRef="Unit_Divide_USD_shares_CsCIGYdPT06WFyu9y-PYzg">8.29</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="As_Of_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_PanpiGRa70CvltWK11K3XA"
      decimals="INF"
      id="Tc_Fn-uRO0Y_ESHx95qr8U3HA_10_2"
      unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw">749756</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="As_Of_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_PanpiGRa70CvltWK11K3XA"
      decimals="2"
      id="Tc_26TaAUEopkymWnzJ3xMlrw_10_5"
      unitRef="Unit_Divide_USD_shares_CsCIGYdPT06WFyu9y-PYzg">5.77</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_WgP_-J30yUq6H7aSq2bW6Q"
      decimals="INF"
      id="Narr_NTO8oHbi1UeB8rSxw96GTA"
      unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw">49756</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_TwoThousandThirteenStockPlanMember_cSZVcu2dYE2kzuJl5WvLEw"
      decimals="INF"
      id="Narr_U283peiLU0-gU3SC7HJKdw"
      unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw">28804</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_TwoThousandTwentyOneEquityCompensationPlanMember_YkATlAZycECBwoQG35brVw"
      decimals="INF"
      id="Narr_OyFzkYj_BEyLYYTMVoPKhg"
      unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw">20952</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_WgP_-J30yUq6H7aSq2bW6Q"
      id="Narr_ZdT2OPWU40iwLpaSc4AoQw">P12M</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <inod:NumberOfSharesEligibleToReceiveForEachFullyVestedRsu
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_lvzdDusiskOtELZ9OgVYdg"
      decimals="INF"
      id="Narr_93r-nPONU0-W9tL0IUHQYQ"
      unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw">1</inod:NumberOfSharesEligibleToReceiveForEachFullyVestedRsu>
    <inod:NumberOfSharesEligibleToReceiveForEachFullyVestedRsu
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_lvzdDusiskOtELZ9OgVYdg"
      decimals="INF"
      id="Narr_-wv5CGjDxUiG04e4zbt5gw"
      unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw">1</inod:NumberOfSharesEligibleToReceiveForEachFullyVestedRsu>
    <inod:NumberOfSharesEligibleToReceiveForEachFullyVestedRsu
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_lvzdDusiskOtELZ9OgVYdg"
      decimals="INF"
      id="Narr_TPbCFSrl2ka3jS9nNKsJyQ"
      unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw">1</inod:NumberOfSharesEligibleToReceiveForEachFullyVestedRsu>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_qj4QrqwTtkeIYN2E8Tq2-Q"
      decimals="INF"
      id="Tc_ApRAAtVG4UaWz3EA3SDpGQ_7_2"
      unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw">700000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_qj4QrqwTtkeIYN2E8Tq2-Q"
      decimals="2"
      id="Tc_nD2iJl_fX0OTh8jYqCxe6g_7_5"
      unitRef="Unit_Divide_USD_shares_CsCIGYdPT06WFyu9y-PYzg">5.59</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="As_Of_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_0doUN1yxeE6e7yU6ySXQYg"
      decimals="INF"
      id="Tc_T82Is5T-6k6xuZvlluia3Q_10_2"
      unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw">700000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="As_Of_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_0doUN1yxeE6e7yU6ySXQYg"
      decimals="2"
      id="Tc_UZ-mBbtXIUiLd8j_v0QTkw_10_5"
      unitRef="Unit_Divide_USD_shares_CsCIGYdPT06WFyu9y-PYzg">5.59</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_PlanNameAxis_inod_EquityPlansMember_qj4QrqwTtkeIYN2E8Tq2-Q"
      decimals="INF"
      id="Narr_c58or2rBQkOpTgDn42ksNg"
      unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw">700000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
      contextRef="As_Of_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember_M1sjIcrZOkGs1qGMdqzpwA"
      decimals="-5"
      id="Narr_pkMNlGp7skWtxR_Edn993A"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">3500000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_OptionIndexedToIssuersEquityEquityAxis_us-gaap_EmployeeStockOptionMember__-GTYdyktECJT8VEe_EEig"
      id="Narr_9BjrUjPt9EKkCOVlKM7bwg">P15M</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
      contextRef="As_Of_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_aGTgNraUUUShkXeCx_LciQ"
      decimals="-5"
      id="Narr_VFEu8maOcEi6tO8hPpH09g"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">3100000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_lvzdDusiskOtELZ9OgVYdg"
      id="Narr_vfwod0ub4USx1-HmG3Og4g">P14M</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:ComprehensiveIncomeNoteTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tb_cKIRKotUzk-BIaeqBOChjg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;"&gt;13.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Comprehensive loss&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;Accumulated other comprehensive loss, as reflected in the consolidated balance sheets, consists of pension liability adjustments, net of taxes, foreign currency translation adjustment and changes in fair value of derivatives, net of taxes. The components of accumulated other comprehensive loss as of December 31, 2023 and 2022, and reclassifications out of accumulated other comprehensive loss for the&#160;years then ended, are presented below (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.83%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.04%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.04%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Foreign&#160;Currency&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Accumulated&#160;Other&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Pension&#160;Liability&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair&#160;Value&#160;of&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Translation&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Comprehensive&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Adjustment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Derivatives&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Adjustment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Loss&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:38.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Balance at January 1, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.83%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (86)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (365)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,657)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (2,108)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Other comprehensive income (loss) before reclassifications, net of taxes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (322)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 185&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 407&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 270&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:38.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total other comprehensive loss before reclassifications, net of taxes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.83%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (408)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (180)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,250)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,838)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net amount reclassified to earnings&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (4)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 221&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 217&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:38.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Balance at December 31, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.83%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (412)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.04%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 41&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,250)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.04%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,621)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.83%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.04%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.04%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Foreign&#160;Currency&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Accumulated&#160;Other&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Pension&#160;Liability&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair&#160;Value&#160;of&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Translation&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Comprehensive&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Adjustment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Derivatives&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Adjustment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Loss&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:38.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Balance at January 1, 2022&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.83%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (858)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (353)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (981)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (2,192)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Other comprehensive income (loss) before reclassifications, net of taxes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 561&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,118)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (676)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,233)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:38.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total other comprehensive loss before reclassifications, net of taxes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.83%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (297)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,471)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,657)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (3,425)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net amount reclassified to earnings&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 211&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,106&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,317&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:38.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Balance at December 31, 2022&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.83%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (86)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.04%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (365)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,657)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.04%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (2,108)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;Taxes related to each component of other comprehensive loss were not material for the fiscal years presented and therefore not disclosed separately.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;All reclassifications out of accumulated other comprehensive loss had an impact on direct operating costs in the consolidated statements of operations and comprehensive loss.&lt;/p&gt;</us-gaap:ComprehensiveIncomeNoteTextBlock>
    <us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Group_IIOLJovulk6ARwPcxWv-KQ">The components of accumulated other comprehensive loss as of December 31, 2023 and 2022, and reclassifications out of accumulated other comprehensive loss for the&#160;years then ended, are presented below (in thousands):&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.83%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.04%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.04%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Foreign&#160;Currency&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Accumulated&#160;Other&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Pension&#160;Liability&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair&#160;Value&#160;of&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Translation&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Comprehensive&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Adjustment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Derivatives&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Adjustment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Loss&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:38.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Balance at January 1, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.83%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (86)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (365)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,657)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (2,108)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Other comprehensive income (loss) before reclassifications, net of taxes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (322)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 185&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 407&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 270&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:38.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total other comprehensive loss before reclassifications, net of taxes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.83%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (408)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (180)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,250)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,838)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net amount reclassified to earnings&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (4)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 221&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 217&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:38.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Balance at December 31, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.83%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (412)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.04%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 41&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,250)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.04%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,621)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.83%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.04%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.04%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Foreign&#160;Currency&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Accumulated&#160;Other&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.43%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Pension&#160;Liability&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.5%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair&#160;Value&#160;of&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Translation&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Comprehensive&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Adjustment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Derivatives&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Adjustment&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Loss&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.04%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:38.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Balance at January 1, 2022&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.83%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (858)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (353)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (981)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (2,192)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Other comprehensive income (loss) before reclassifications, net of taxes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 561&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,118)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (676)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,233)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:38.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total other comprehensive loss before reclassifications, net of taxes&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.83%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (297)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,471)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.54%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,657)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.04%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (3,425)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:38.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net amount reclassified to earnings&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 211&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,106&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,317&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:38.71%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Balance at December 31, 2022&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:11.83%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (86)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.04%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (365)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:12.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,657)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:14.04%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (2,108)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_kZgpW4-CxUutJCwalaxPhw"
      decimals="-3"
      id="Tc__bpk5or2OkeZBk7nEuYdaQ_5_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-86000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_huEGSbabNkKfAjcJrm83rw"
      decimals="-3"
      id="Tc_43_nSdYYxEurUdY5YB1Ghw_5_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-365000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedTranslationAdjustmentMember__fbw9TgseEeDPSCwFeZUfQ"
      decimals="-3"
      id="Tc_yl5xAYDxD0qH5QcHKSoEgA_5_9"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-1657000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_c7lWhPVgBE-WkvyMz14pyQ"
      decimals="-3"
      id="Tc_gH7RMZpl6EC6rqm5BEDbog_5_12"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-2108000</us-gaap:StockholdersEquity>
    <us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_xblYvJaCp0qPeXhF3ODqyQ"
      decimals="-3"
      id="Tc_13YtysKT_kme4z2EDZLy7A_6_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-322000</us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_50Ly9HkcDEy-rKD-BGoM3Q"
      decimals="-3"
      id="Tc_mfvVGPYTCUOZgq8HMLtiQA_6_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">185000</us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedTranslationAdjustmentMember_MXzUQ8pNpUygoHxpksj4TQ"
      decimals="-3"
      id="Tc_fP7779IcOUGXgRVv8pIAxA_6_9"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">407000</us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_RUyaer8lGE6_VcQ9LicmRQ"
      decimals="-3"
      id="Tc_gT2J0FwUmUypOAvyh0jcog_6_12"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">270000</us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax>
    <inod:TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_xblYvJaCp0qPeXhF3ODqyQ"
      decimals="-3"
      id="Tc_mLCCl3mq1kuFdamoiDDLiQ_7_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-408000</inod:TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax>
    <inod:TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_50Ly9HkcDEy-rKD-BGoM3Q"
      decimals="-3"
      id="Tc_OrQyf1bWAkSaL-klHzYOPw_7_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-180000</inod:TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax>
    <inod:TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedTranslationAdjustmentMember_MXzUQ8pNpUygoHxpksj4TQ"
      decimals="-3"
      id="Tc_Ta5-YtiwdU2BdW8WXcgBGg_7_9"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-1250000</inod:TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax>
    <inod:TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_RUyaer8lGE6_VcQ9LicmRQ"
      decimals="-3"
      id="Tc_lGzLMdMkZ0W29KWQBAB2Xw_7_12"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-1838000</inod:TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax>
    <us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_xblYvJaCp0qPeXhF3ODqyQ"
      decimals="-3"
      id="Tc_Nqu1k_QJI0q-PYr9eQVfpg_8_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-4000</us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax>
    <us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_50Ly9HkcDEy-rKD-BGoM3Q"
      decimals="-3"
      id="Tc_mrvQ87JuQEqLMxXDaZxSDg_8_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">221000</us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax>
    <us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_RUyaer8lGE6_VcQ9LicmRQ"
      decimals="-3"
      id="Tc_Vpw0n3mzg0eGQWmjJ1WMDg_8_12"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">217000</us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_8s3R-6bglUejDK2j7LO24g"
      decimals="-3"
      id="Tc_AZL61MI1eUixSHeysPLNLw_9_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-412000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_r-4TmZcddkOH0mSP_wvnFw"
      decimals="-3"
      id="Tc_X-ZjHqP8iU6eOdq0w-IGFg_9_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">41000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedTranslationAdjustmentMember_mHQ4p6twU06hTlgC7UtGPA"
      decimals="-3"
      id="Tc_wDU8RcFELE-7IKyDOt9X5Q_9_9"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-1250000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2023_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_pzr1FtTpQEeyVTKJemj5Wg"
      decimals="-3"
      id="Tc_wZYeWclx9UOJBuxGE34gUA_9_12"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-1621000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_oZr7_sMmSU617toIq-_dFQ"
      decimals="-3"
      id="Tc_4Eqi-NMUOUyIZChXO8M-FA_5_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-858000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_wN7JYwmcpUSPEYT5NjW66w"
      decimals="-3"
      id="Tc_qolZe8cm5U-XrTyRyydOig_5_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-353000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedTranslationAdjustmentMember_JmGwNz4ASUWfUFC-yCcPrg"
      decimals="-3"
      id="Tc_YCnmRkMO4UCtmz7RJYdxdQ_5_9"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-981000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_FJvH64UhtkiszY9Kg4pazw"
      decimals="-3"
      id="Tc_NZEUR5-30UO_v4Znhuz-8Q_5_12"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-2192000</us-gaap:StockholdersEquity>
    <us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_-qi-V-dHIUiVFo6sJ0-f8w"
      decimals="-3"
      id="Tc_-tLwuiHlCEOnqsii2TuhKA_6_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">561000</us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_SoQXm1V1qUK3wkjLIc6eAw"
      decimals="-3"
      id="Tc_lCnRLiRg10mMWlb5JLHqoQ_6_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-1118000</us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedTranslationAdjustmentMember_iZNJNhyXvUyaxwVtQpgbsg"
      decimals="-3"
      id="Tc_FyhJcZDQ406LN6M_BQLSRQ_6_9"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-676000</us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_cOS_gIzBZ0CnbFN3FJi6eA"
      decimals="-3"
      id="Tc_6rS5ioFkCECY6ZMucYMunw_6_12"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-1233000</us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax>
    <inod:TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_-qi-V-dHIUiVFo6sJ0-f8w"
      decimals="-3"
      id="Tc_KC0qHkDJkEyijzesJ72MjA_7_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-297000</inod:TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax>
    <inod:TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_SoQXm1V1qUK3wkjLIc6eAw"
      decimals="-3"
      id="Tc_y2vperadwESRhbEpNJ5H3Q_7_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-1471000</inod:TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax>
    <inod:TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedTranslationAdjustmentMember_iZNJNhyXvUyaxwVtQpgbsg"
      decimals="-3"
      id="Tc_ei7_Uan6P0efC2K_bw8Lrg_7_9"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-1657000</inod:TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax>
    <inod:TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_cOS_gIzBZ0CnbFN3FJi6eA"
      decimals="-3"
      id="Tc_IAvuXmR7Yk-ew9GO4YdFqQ_7_12"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-3425000</inod:TotalOtherComprehensiveIncomeLossBeforeReclassificationsNetOfTax>
    <us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_-qi-V-dHIUiVFo6sJ0-f8w"
      decimals="-3"
      id="Tc_7-vWYBHlGUqK3taK07lWrA_8_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">211000</us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax>
    <us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_SoQXm1V1qUK3wkjLIc6eAw"
      decimals="-3"
      id="Tc_I3sU0ltcYU23rljtfzjWkQ_8_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">1106000</us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax>
    <us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_cOS_gIzBZ0CnbFN3FJi6eA"
      decimals="-3"
      id="Tc_0shoqq6a_Ei63M3rHKM0Og_8_12"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">1317000</us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodNetOfTax>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedDefinedBenefitPlansAdjustmentMember_kZgpW4-CxUutJCwalaxPhw"
      decimals="-3"
      id="Tc__ZukNstm4Uy7DnbIVX2sWA_9_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-86000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedGainLossNetCashFlowHedgeParentMember_huEGSbabNkKfAjcJrm83rw"
      decimals="-3"
      id="Tc_bQdiuLBun0OAF4hXfRgPvg_9_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-365000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedTranslationAdjustmentMember__fbw9TgseEeDPSCwFeZUfQ"
      decimals="-3"
      id="Tc_N_3qhsnfTUa2lN2qlGdn5A_9_9"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-1657000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember_c7lWhPVgBE-WkvyMz14pyQ"
      decimals="-3"
      id="Tc_cnZUcPZ7sEuad5izk59qVQ_9_12"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-2108000</us-gaap:StockholdersEquity>
    <us-gaap:SegmentReportingDisclosureTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tb_W4Z_HXrq5ku0Hj-YzwQtDw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;"&gt;14.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Segment reporting and concentrations&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company&#x2019;s operations are classified in three reporting segments: Digital Data Solutions (DDS), Synodex and Agility.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The DDS segment provides AI data preparation services, collecting or creating training data, annotating training data, and training AI algorithms for its customers, and AI model deployment and integration. The DDS segment also provides a range of data engineering support services including data transformation, data curation, data hygiene, data consolidation, data extraction, data compliance, and master data management.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Synodex segment provides an industry platform that transforms medical records into useable digital data organized in accordance with its proprietary data models or customer data models.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Agility segment provides an industry platform that provides marketing communications and public relations professionals with the ability to target and distribute content to journalists and social media influencers world-wide and to monitor and analyze global news channels (print, web, radio and TV) and social media channels.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"&gt;A significant portion of the Company&#x2019;s revenues is generated from its locations in the Philippines, India, Sri Lanka, Canada, Germany, Israel, United States and the United Kingdom. &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;Revenues from external customers, segment operating profit (loss), and other reportable segment information are as follows (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:70%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:56.12%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.61%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.53%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.6%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:41.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;For&#160;The&#160;Years Ended&#160;December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Revenues:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.61%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;DDS&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 61,576&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 56,523&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Synodex&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.61%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,511&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,105&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Agility&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 17,688&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 15,373&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;"&gt;Total Consolidated&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.61%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 86,775&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 79,001&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 12pt;"&gt;&lt;span style="font-size:10pt;margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Income (loss) before provision for income taxes&lt;sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(1)&lt;/sup&gt;:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.61%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;DDS&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,823&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,393&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Synodex&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.61%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (299)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (3,213)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Agility&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,385)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (8,663)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;"&gt;Total Consolidated&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.61%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 139&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (10,483)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 12pt;"&gt;&lt;span style="font-size:10pt;margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Income (loss) before provision for income taxes&lt;sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(2)&lt;/sup&gt;:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.61%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;DDS&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,260&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 716&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Synodex&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.61%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 219&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (2,599)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Agility&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,340)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (8,600)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;"&gt;Total Consolidated&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.61%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 139&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (10,483)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:70%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:51.93%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.83%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.83%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:21.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:21.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total assets:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.83%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.83%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;DDS&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 37,232&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 25,758&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Synodex&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.83%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,379&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.83%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,270&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Agility&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 18,820&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 19,014&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;"&gt;Total Consolidated&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.83%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 59,431&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.83%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 48,042&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:70%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:51.93%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:21.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:21.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Goodwill:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Agility&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,075&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,038&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,075&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,038&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="width:36pt;"&gt;&lt;/td&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:6pt;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;"&gt;(1)&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;"&gt;Before elimination of any inter-segment profits&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="width:36pt;"&gt;&lt;/td&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:6pt;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;"&gt;(2)&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;"&gt;After elimination of any inter-segment profits&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;Long-lived assets as of December 31, 2023 and 2022 by geographic region were comprised of (in thousands): &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:35%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:47.35%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.49%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.46%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.46%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:47.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:21.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:20.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:47.35%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;United States&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.49%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 9,101&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,205&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:47.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Foreign countries:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:47.35%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Canada&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.49%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,328&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,675&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:47.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;United Kingdom&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,028&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,198&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:47.35%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Philippines&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.49%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,484&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,682&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:47.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;India&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,791&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,195&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:47.35%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Sri Lanka&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:4.49%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 423&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 426&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:47.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Israel&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:4.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 13&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:47.35%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total foreign&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.49%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 14,067&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 14,179&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:47.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;"&gt;Totals&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.46%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 23,168&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.46%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 21,384&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-indent:36pt;margin:0pt;"&gt;Long-lived assets include the unamortized balance of right-of-use assets amounting to $5.1 million and $4.3 million as of December 31, 2023 and December 31, 2022, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;One customer in the DDS segment generated approximately 10% of the Company&#x2019;s total revenues in the fiscal year ended December 31, 2023. Another customer in the DDS segment generated approximately 11% of the Company&#x2019;s total revenues in the fiscal year ended December 31, 2022. No other customer accounted for 10% or more of total revenues during these periods. Further, in the&#160;years ended December 31, 2023 and 2022, revenues from non-U.S. customers accounted for 37% and 38%, respectively, of the Company&#x2019;s revenues.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;Revenues for each of the two&#160;years in the period ended December 31, 2023 and 2022 by geographic region (determined based upon customer domicile), were as follows (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:40%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:55.55%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:55.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:17.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:17.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:55.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;United States&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.27%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 54,430&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.27%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 48,724&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:55.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;United Kingdom &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 10,766&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 10,901&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:55.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;The Netherlands&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.27%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,291&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.27%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 6,829&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:55.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Canada&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,156&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,508&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:55.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Others - principally Europe&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.27%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,132&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.27%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,039&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:55.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;"&gt;Totals&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 86,775&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 79,001&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;As of December 31, 2023, approximately 31% of the Company&#x2019;s accounts receivable was due from foreign (principally European) customers and 53% of accounts receivable was due from three customers. As of December 31, 2022, approximately 44% of the Company&#x2019;s accounts receivable was due from foreign (principally European) customers and 45% of accounts receivable was due from four customers. No other customer accounted for 10% or more of the accounts receivable as of December 31, 2023 and 2022.&lt;/p&gt;</us-gaap:SegmentReportingDisclosureTextBlock>
    <us-gaap:NumberOfReportableSegments
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="INF"
      id="Narr_Cxy7z7XMIkCIV4W50Aauhw"
      unitRef="Unit_Standard_segment_ZgNiCSukjkyW3Oz99w8UqQ">3</us-gaap:NumberOfReportableSegments>
    <us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tb_48wBKwjTiEGcqA1lDju7ow">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;Revenues from external customers, segment operating profit (loss), and other reportable segment information are as follows (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:70%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:56.12%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.61%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.53%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.6%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:41.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;For&#160;The&#160;Years Ended&#160;December&#160;31,&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Revenues:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.61%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;DDS&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 61,576&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 56,523&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Synodex&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.61%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,511&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,105&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Agility&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 17,688&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 15,373&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;"&gt;Total Consolidated&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.61%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 86,775&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 79,001&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 12pt;"&gt;&lt;span style="font-size:10pt;margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Income (loss) before provision for income taxes&lt;sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(1)&lt;/sup&gt;:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.61%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;DDS&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,823&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,393&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Synodex&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.61%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (299)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (3,213)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Agility&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,385)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (8,663)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;"&gt;Total Consolidated&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.61%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 139&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (10,483)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 12pt;"&gt;&lt;span style="font-size:10pt;margin-left:0pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Income (loss) before provision for income taxes&lt;sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(2)&lt;/sup&gt;:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.61%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;DDS&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.61%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,260&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.6%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 716&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Synodex&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.61%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 219&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.6%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (2,599)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.12%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Agility&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,340)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.53%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (8,600)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:56.12%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;"&gt;Total Consolidated&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.24%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.61%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 139&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.53%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:16.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (10,483)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:70%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:51.93%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.83%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.83%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:21.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:21.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total assets:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.83%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.83%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;DDS&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 37,232&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.83%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 25,758&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Synodex&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.83%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,379&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.83%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,270&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Agility&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 18,820&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 19,014&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;"&gt;Total Consolidated&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.83%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 59,431&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:18.83%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 48,042&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:70%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:51.93%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.15%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:21.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:21.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&#160;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;Goodwill:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.15%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.93%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;"&gt;Agility&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,075&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,038&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:51.93%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,075&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.23%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:19.15%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"&gt; 2,038&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="width:36pt;"&gt;&lt;/td&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:6pt;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;"&gt;(1)&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;"&gt;Before elimination of any inter-segment profits&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="width:36pt;"&gt;&lt;/td&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:6pt;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;"&gt;(2)&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;"&gt;After elimination of any inter-segment profits&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_hfrqOpdH60OwuH8iwP5vZg"
      decimals="-3"
      id="Tc_IeZBZ7zWh06aaZbQkzeHEA_4_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">61576000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_9B1oaQAGS0SJig4AiUYcMQ"
      decimals="-3"
      id="Tc_K7dT6L_dO0-TuvSRYHtTNg_4_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">56523000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_-vuRYrfzYkmvPTGuM6-RWA"
      decimals="-3"
      id="Tc_XRyR_Y-rw0qjB_CNrMLTVw_5_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">7511000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_b5c4CvpcyUe-20ZsF4XSuA"
      decimals="-3"
      id="Tc_b_ZJ22lB1USD7XJ2fMfA0A_5_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">7105000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_VS8VoCn_NkSXn3oQdOqKmg"
      decimals="-3"
      id="Tc_yrXaPRdOfU-7YM3OxdyWaA_6_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">17688000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_esDU3rm5EE6OMbherdLDuw"
      decimals="-3"
      id="Tc_X5H9OuMtgEyhClHmpy3_tw_6_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">15373000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_cXqkwPJWEk2I9YGgQI1imA_7_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">86775000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_xY4KSMt3-0a2Q7G8Eu_hdQ_7_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">79001000</us-gaap:Revenues>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_us-gaap_SubsegmentsConsolidationItemsAxis_inod_BeforeIntersegmentEliminationsMember_mZKU-HNpVkeVxqBMhDvpzA"
      decimals="-3"
      id="Tc_vWBlXpFeYEiCXNUZex23lA_10_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">1823000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_us-gaap_SubsegmentsConsolidationItemsAxis_inod_BeforeIntersegmentEliminationsMember_6lFqrVNeTk2ITm4KSuH9Yw"
      decimals="-3"
      id="Tc_gLSPyJ0HJ0-yTFs_5yBQzQ_10_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">1393000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_us-gaap_SubsegmentsConsolidationItemsAxis_inod_BeforeIntersegmentEliminationsMember_2V9Mg6e63UmQOnsRtk2ewQ"
      decimals="-3"
      id="Tc_CHpEUw7cxkO2s60_oBR_yQ_11_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-299000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_us-gaap_SubsegmentsConsolidationItemsAxis_inod_BeforeIntersegmentEliminationsMember_QYt-iA7H00ybmHvX_Bcp8A"
      decimals="-3"
      id="Tc_eKD3wcEyckuIEjx6HvjExQ_11_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-3213000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_us-gaap_SubsegmentsConsolidationItemsAxis_inod_BeforeIntersegmentEliminationsMember_Ol_MJGERcEO6rtt180a_9A"
      decimals="-3"
      id="Tc_SAZb27idmkWkTCRY_cW-NA_12_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-1385000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_us-gaap_SubsegmentsConsolidationItemsAxis_inod_BeforeIntersegmentEliminationsMember_sCdYBoaS2EuGi5AD29cP6A"
      decimals="-3"
      id="Tc_xv1FxCJe2USqIEloyXExJw_12_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-8663000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_SubsegmentsConsolidationItemsAxis_inod_BeforeIntersegmentEliminationsMember_ZYXKfyc5bUuc_tUGR5jEnQ"
      decimals="-3"
      id="Tc_MjHRcf0bsUW8wIJqmlPZ-w_13_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">139000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_SubsegmentsConsolidationItemsAxis_inod_BeforeIntersegmentEliminationsMember_TJ9zMrxcmUCFxo6BZ1m9hA"
      decimals="-3"
      id="Tc_6YEseml1MEykstFKPpQXFA_13_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-10483000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_us-gaap_SubsegmentsConsolidationItemsAxis_inod_AfterIntersegmentEliminationsMember_6xfH3kPftES4PwzNxRXytg"
      decimals="-3"
      id="Tc__5tzTVnm1EO-AmP1IRYnWQ_16_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">1260000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_us-gaap_SubsegmentsConsolidationItemsAxis_inod_AfterIntersegmentEliminationsMember__QRq8LR7SEuoxYmZrlolQA"
      decimals="-3"
      id="Tc_tc1CJTahjkeZIT_QccOpkw_16_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">716000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_us-gaap_SubsegmentsConsolidationItemsAxis_inod_AfterIntersegmentEliminationsMember_90AMqhMbSkSLYrBYYLonWg"
      decimals="-3"
      id="Tc_2PxI9-4UbkWcYPQ1_UIhdQ_17_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">219000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_us-gaap_SubsegmentsConsolidationItemsAxis_inod_AfterIntersegmentEliminationsMember_rX0wtMiAMkyaIwTMffhTeg"
      decimals="-3"
      id="Tc_ziwphdNMxke1HRonZ749DA_17_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-2599000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_us-gaap_SubsegmentsConsolidationItemsAxis_inod_AfterIntersegmentEliminationsMember_YRNECY_QzEKvQBRFrI_rtw"
      decimals="-3"
      id="Tc_xCJx7S87uk6lRczr14meUQ_18_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-1340000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_us-gaap_SubsegmentsConsolidationItemsAxis_inod_AfterIntersegmentEliminationsMember_arrKlzbb70GZQU4AYDZ__w"
      decimals="-3"
      id="Tc_v-SFvXDv2kGYuVB3-LP--A_18_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-8600000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_SubsegmentsConsolidationItemsAxis_inod_AfterIntersegmentEliminationsMember_Dl9RY7RK2UODmIByd_M06A"
      decimals="-3"
      id="Tc_JBWfgRaSZEiXwvYyWZEgQg_19_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">139000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_SubsegmentsConsolidationItemsAxis_inod_AfterIntersegmentEliminationsMember_v6mrBPP_IUWv0ooN07CK3A"
      decimals="-3"
      id="Tc_VBas_sVyeUm19sFisN21YA_19_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-10483000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:Assets
      contextRef="As_Of_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_lFP-B3DwC0e_ZKSaD-pLNA"
      decimals="-3"
      id="Tc_coTtqHA36EuUx6KYk_mYIw_3_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">37232000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_inod_DdsMember_a-22rrn9JUuT_fjkXrOsPA"
      decimals="-3"
      id="Tc_QSCuaH-Yf0ic0eNlotVRxw_3_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">25758000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="As_Of_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_7YF2pH0B5UijlCQ0p4ihHw"
      decimals="-3"
      id="Tc_t62KU-in4UiheMnvTKHw4Q_4_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">3379000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_inod_SynodexMember_TwFYk21iN0SwTxWg75DysQ"
      decimals="-3"
      id="Tc_9u1vy3gsukC5uwUZcw3FRA_4_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">3270000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="As_Of_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_wiijic-RgECfCYdrud0aEQ"
      decimals="-3"
      id="Tc_IYcnpIxu30-GXdZ4_qA4kQ_5_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">18820000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_Jc77nOKStUuc-rNnJbOogQ"
      decimals="-3"
      id="Tc_R6m0XDXAU0e8UGz4pMY1rw_5_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">19014000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_8tp8jLhX8Ea4RwPb0Sk-Ww_6_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">59431000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_ARlN6Y8msUK7CNVEY7Mmpw_6_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">48042000</us-gaap:Assets>
    <us-gaap:Goodwill
      contextRef="As_Of_12_31_2023_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_wiijic-RgECfCYdrud0aEQ"
      decimals="-3"
      id="Tc_QA-Ikq8rP0KxWohFDn3Fjg_3_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">2075000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="As_Of_12_31_2022_us-gaap_StatementBusinessSegmentsAxis_inod_AgilityMember_Jc77nOKStUuc-rNnJbOogQ"
      decimals="-3"
      id="Tc_6UUR863T2EKskOH_05Gd9g_3_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">2038000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_yJhkkeKet0CTjE8_O67ydA_4_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">2075000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_Dd3jhJMTqkasM4rMsLojzQ_4_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">2038000</us-gaap:Goodwill>
    <us-gaap:ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tb__IX_17UdJUa652WdVjgv2g">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;Long-lived assets as of December 31, 2023 and 2022 by geographic region were comprised of (in thousands): &lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:35%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:47.35%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.49%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.46%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.29%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.46%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:47.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:21.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:20.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:47.35%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;United States&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.49%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 9,101&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,205&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:47.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Foreign countries:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:47.35%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Canada&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.49%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,328&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,675&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:47.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;United Kingdom&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,028&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,198&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:47.35%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Philippines&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.49%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,484&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3,682&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:47.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;India&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.49%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,791&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 1,195&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:47.35%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Sri Lanka&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:4.49%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 423&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 426&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:47.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;Israel&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;width:4.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 13&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 3&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:47.35%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Total foreign&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.49%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 14,067&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.29%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 14,179&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:47.35%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;"&gt;Totals&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.46%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 23,168&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:5.29%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.64%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:17.46%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 21,384&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_US_8DT353cHtEa626yJajOM5Q"
      decimals="-3"
      id="Tc_fdIkwc2cV06TWK5afg1_1w_2_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">9101000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2022_srt_StatementGeographicalAxis_country_US_ln2nGqa4pkW7JE8Dx8YURQ"
      decimals="-3"
      id="Tc_DSqLWxh9bEu9yzVGJK6oyQ_2_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">7205000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_CA_aAWcbW5hcUacnsmjpTYKMg"
      decimals="-3"
      id="Tc_qC5Mo3ZSS0-7dE_DxywYQw_4_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">7328000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2022_srt_StatementGeographicalAxis_country_CA_6ijCI4Yup0aJNI7uAFEvDg"
      decimals="-3"
      id="Tc_vTBQ4pB34kyKD34BflH7Jg_4_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">7675000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_GB_cGlE6M1wGEyQUI3RdGfVMA"
      decimals="-3"
      id="Tc__NjYwhXXxUyRptTEWydrzw_5_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">1028000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2022_srt_StatementGeographicalAxis_country_GB_rsDGcGQTPEe5cRCF5Q2oUQ"
      decimals="-3"
      id="Tc_5vifA2tqAEWetYcnGrTdxQ_5_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">1198000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_PH_BXetIOq2PUy09PanB1VcMw"
      decimals="-3"
      id="Tc_MkZmqzeqJ0Ces1tA_IXe9g_6_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">3484000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2022_srt_StatementGeographicalAxis_country_PH_r0CKHi2eW0eWdSEGI9mgqA"
      decimals="-3"
      id="Tc_rdZCRnzz3UGDouRG0JvIDg_6_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">3682000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_IN_nQS0e64vb0OwUxdjuRF7VA"
      decimals="-3"
      id="Tc_uwZ0pZ6MmEaw19_ykM0gSQ_7_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">1791000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2022_srt_StatementGeographicalAxis_country_IN_qtD2fnWt7UeXcO59Vjiypg"
      decimals="-3"
      id="Tc_CPFKWJHBRUKtqBMGzyBmZA_7_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">1195000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2023_srt_StatementGeographicalAxis_country_LK_fcotOyfyCEOeSK58UW3WcA"
      decimals="-3"
      id="Tc_q6VtXd4EuEeWtngBG3k5XQ_8_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">423000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2022_srt_StatementGeographicalAxis_country_LK_oaPqC3MzUkKvwJ93B0xWmA"
      decimals="-3"
      id="Tc_5EDGny2yJEqHwhIyyZfKHA_8_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">426000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2023_srt_StatementGeographicalAxis_stpr_IL_MAsADG9zd0eYU0lSiJSk1Q"
      decimals="-3"
      id="Tc_b-Lrveoh9k-GN-WNnBMK8w_9_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">13000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2022_srt_StatementGeographicalAxis_stpr_IL_foRoAo2c0EWVo5lTWTaRRw"
      decimals="-3"
      id="Tc_S-rjvp47E0ajC1T4FESbQA_9_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">3000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2023_srt_StatementGeographicalAxis_inod_ForeignCountriesMember_hzjj-hG2RkySFElnBcom0A"
      decimals="-3"
      id="Tc_0Y6GOmHrGUe5V4fTCozeKg_10_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">14067000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2022_srt_StatementGeographicalAxis_inod_ForeignCountriesMember_FBuuV21fgUea3lhDn10MKA"
      decimals="-3"
      id="Tc_8tDBmsEAqES1IGPhN5Vt0A_10_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">14179000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-3"
      id="Tc_XeeDDVtxVE2UYKR1V1cGyw_11_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">23168000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-3"
      id="Tc_ilhUrgJ2UEqCt3JZBqUMvA_11_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">21384000</us-gaap:NoncurrentAssets>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-5"
      id="Narr_uoIYbGKGXUSrjtJu7I73Sg"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">5100000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-5"
      id="Narr_QL5yHdFAFUC3PBX_N_qIsg"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">4300000</us-gaap:OperatingLeaseRightOfUseAsset>
    <inod:NumberOfClient
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_MajorCustomersAxis_inod_OneClientMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_v9cM2ErFBEW4A75o1sqTTA"
      decimals="INF"
      id="Narr_hHdIeFa5aUG_AiA59IBXvQ"
      unitRef="Unit_Standard_customer_L07mCJvwDkuRDU6qXBuosg">1</inod:NumberOfClient>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_MajorCustomersAxis_inod_OneClientMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_v9cM2ErFBEW4A75o1sqTTA"
      decimals="2"
      id="Narr_Agr6LxPlM0e2lFbxwDrDig"
      unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg">0.10</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_MajorCustomersAxis_inod_TwoClientMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_Cfd5zrQQsUSS2QVh-CKFNQ"
      decimals="2"
      id="Narr_Zd61EDKVrUWTGtbA33Xt8g"
      unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg">0.11</us-gaap:ConcentrationRiskPercentage1>
    <inod:NumberOfClient
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_MajorCustomersAxis_inod_ClientMember_srt_StatementGeographicalAxis_country_US_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_CkIJNvV73Eew6QKg_jNFhw"
      decimals="INF"
      id="Narr_IoiV1ZbkOkCCl1UpAomiCw"
      unitRef="Unit_Standard_customer_L07mCJvwDkuRDU6qXBuosg">0</inod:NumberOfClient>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_MajorCustomersAxis_inod_ClientMember_srt_RangeAxis_srt_MinimumMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_wL6jRDzFb020zagpQ4Ygpg"
      decimals="2"
      id="Narr_Ci6A0QpR50-17lRI4k5DMg"
      unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg">0.10</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_us-gaap_NonUsMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_STsKk-a8DEKY3B2I_1Oy3w"
      decimals="2"
      id="Narr_dujRrWKFSkubQFU2Vd3lWw"
      unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg">0.37</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_us-gaap_NonUsMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_rFmV0NtGg0SSi0G5txTSVg"
      decimals="2"
      id="Narr_W3M8o68BtUiQSPSE0bh2Ug"
      unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg">0.38</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tb_VzODx0YX0UWWJX_npWp-Aw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;Revenues for each of the two&#160;years in the period ended December 31, 2023 and 2022 by geographic region (determined based upon customer domicile), were as follows (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:40%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:55.55%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:55.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:17.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:17.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:55.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;United States&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.27%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 54,430&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.27%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 48,724&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:55.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;United Kingdom &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 10,766&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 10,901&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:55.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;The Netherlands&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.27%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,291&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.27%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 6,829&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:55.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Canada&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,156&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 5,508&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:55.55%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Others - principally Europe&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.27%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,132&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.27%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 7,039&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:55.55%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;"&gt;Totals&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 86,775&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:4.62%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.31%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:15.27%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 79,001&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_US_iFLtBwWXw0aTJr5phU5fmA"
      decimals="-3"
      id="Tc_IhK-1-a27UCDUDznLdVExw_2_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">54430000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_US_5hthIEYwm0eKGwFyxNDM6Q"
      decimals="-3"
      id="Tc_Nx6oJNolzk-oO_B2FxS-Zw_2_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">48724000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_GB_4mXwBS_lJ0mF5wsBlCd7pA"
      decimals="-3"
      id="Tc_izWWEV55wk2h-1yCTNcEGQ_3_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">10766000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_GB_0sXgTTfeykWLEN1FuHAEhw"
      decimals="-3"
      id="Tc_jBktH3U-QkmOfoAKQOaEiw_3_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">10901000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_NL_k_leQGnSsEWgYiul_DRyrA"
      decimals="-3"
      id="Tc_EmvZc5Z_PEexu9ML9YYMvg_4_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">7291000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_NL_xSsVJG2Br0yw55QMAs0AYA"
      decimals="-3"
      id="Tc_1EO8Unqj9ESC5l8l7nENMQ_4_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">6829000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_country_CA_AOw3tuYUUUeHMssSM37RMw"
      decimals="-3"
      id="Tc_PgZ-EzwXTkyDtmghTCFsRA_5_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">7156000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_country_CA_HEGbN8jj5UKKBBZUq3vvig"
      decimals="-3"
      id="Tc_e5-wAU5byESHNRWL7bGzlA_5_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">5508000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_inod_OtherPrincipallyEuropeMember_kdhwqSqGT0O9PtPl-qkB6A"
      decimals="-3"
      id="Tc_BP55vPWUr0KTunWQ_eG5nw_6_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">7132000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_StatementGeographicalAxis_inod_OtherPrincipallyEuropeMember_hBdIW5TnCEy1QdcKibvPWQ"
      decimals="-3"
      id="Tc__BLHGHJYPUGGDxpMYRNHDg_6_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">7039000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_r4Y6dQrPAk-ooplpEaphNg_7_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">86775000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_baGlQ3H_YUKw6CrkkF5kpA_7_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">79001000</us-gaap:Revenues>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_MajorCustomersAxis_inod_ForeignCustomerMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_3vPdv9N500KQ0vK1-GhRJA"
      decimals="2"
      id="Narr_6Q3MO_91TkuJ8HcyhoW0fQ"
      unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg">0.31</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_MajorCustomersAxis_inod_ThreeClientsMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_qmwWCbD92Umjf-TP88K6cw"
      decimals="2"
      id="Narr_jwIWtS3KBEqObfZySC23KA"
      unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg">0.53</us-gaap:ConcentrationRiskPercentage1>
    <inod:NumberOfClient
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_MajorCustomersAxis_inod_ThreeClientsMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_qmwWCbD92Umjf-TP88K6cw"
      decimals="INF"
      id="Narr_psqjp93lak-UkGqZyyTILg"
      unitRef="Unit_Standard_customer_L07mCJvwDkuRDU6qXBuosg">3</inod:NumberOfClient>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_MajorCustomersAxis_inod_ForeignCustomerMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_m4Iw8m0UtEONWu-1WAeD1w"
      decimals="2"
      id="Narr_RBfSWQ-Xs0OHakzL_GutPw"
      unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg">0.44</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_MajorCustomersAxis_inod_FourClientsMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_hKUD1oPjwk2k4Wgce-zdFw"
      decimals="2"
      id="Narr_UphLdjVOnk2a6wl2ttDfcQ"
      unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg">0.45</us-gaap:ConcentrationRiskPercentage1>
    <inod:NumberOfClient
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_MajorCustomersAxis_inod_FourClientsMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_hKUD1oPjwk2k4Wgce-zdFw"
      decimals="INF"
      id="Narr_6u7z_2RJqEqhyksmEWx52g"
      unitRef="Unit_Standard_client_M0gpsvUdgEqG9qCLCiii6A">4</inod:NumberOfClient>
    <inod:NumberOfClient
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_MajorCustomersAxis_inod_ClientMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_y7QYRaUgCkqMg2oElbakdQ"
      decimals="INF"
      id="Narr__08lt0--hUy59Ow6yBEmNQ"
      unitRef="Unit_Standard_customer_L07mCJvwDkuRDU6qXBuosg">0</inod:NumberOfClient>
    <inod:NumberOfClient
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_MajorCustomersAxis_inod_ClientMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_PcZ7ozjHUEaNBqnE2Sdjjw"
      decimals="INF"
      id="Narr_2YsBApdCk0qAmR5fuHjuoA"
      unitRef="Unit_Standard_customer_L07mCJvwDkuRDU6qXBuosg">0</inod:NumberOfClient>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_1_1_2022_To_12_31_2022_srt_MajorCustomersAxis_inod_ClientMember_srt_RangeAxis_srt_MinimumMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_3CVCszgYdEKSonxTs4tK9w"
      decimals="2"
      id="Narr_GpiQQMw3g0Gws42AgxDCnw"
      unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg">0.10</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="Duration_1_1_2023_To_12_31_2023_srt_MajorCustomersAxis_inod_ClientMember_srt_RangeAxis_srt_MinimumMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_AccountsReceivableMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_rdFMdzOXSU-smKLQzFV_6g"
      decimals="2"
      id="Narr_g1j-_KSgP0WfGkvmXKADog"
      unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg">0.10</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:EarningsPerShareTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tb_exmnHH4OLkmstdhSBuPT4g">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt;"&gt;15.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Loss per Share&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:69.3%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.69%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.39%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.69%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:28.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;For&#160;the&#160;Years&#160;Ended&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:28.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net loss attributable to Innodata Inc. and Subsidiaries &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.69%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 908&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.39%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.69%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 11,935&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Weighted average common shares outstanding&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 28,131&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 27,278&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Dilutive effect of outstanding options &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.69%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.39%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.69%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Adjusted for dilutive computation&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.69%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 28,131&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.71%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.69%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 27,278&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;Basic loss per share is computed using the weighted-average number of common shares outstanding during the&#160;year. Diluted income per share is computed by considering the impact of the potential issuance of common shares, using the treasury stock method, on the weighted average number of shares outstanding. For those securities that are not convertible into a class of common stock, the two-class method of computing loss per share is used.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;Options to purchase 6.3 million shares of common stock for the year ended December 31, 2023 were outstanding but not included in the computation of diluted loss per share because the effect would be antidilutive.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;Options to purchase 5.3 million shares of common stock for the year ended December 31, 2022 were outstanding but not included in the computation of diluted loss per share because the exercise price of the options were greater than the average market price of the common shares and therefore have not been considered as potential equity shares.&lt;/p&gt;</us-gaap:EarningsPerShareTextBlock>
    <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tb_yS7i8fR_00awvMPv_c_dAQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:60%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:69.3%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.69%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.39%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.69%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:28.22%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;For&#160;the&#160;Years&#160;Ended&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:28.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;December&#160;31,&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:8pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net loss attributable to Innodata Inc. and Subsidiaries &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.69%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 908&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.39%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.69%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 11,935&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Weighted average common shares outstanding&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 28,131&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.69%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 27,278&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.3%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Dilutive effect of outstanding options &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.46%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.69%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.39%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.69%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:69.3%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Adjusted for dilutive computation&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.46%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.69%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 28,131&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:3.39%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.71%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:10.69%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 27,278&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
    <inod:NetIncomeLossAttributableToParent1
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_PeSO9Ml4uUeG8ceSNjXXaw_4_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-908000</inod:NetIncomeLossAttributableToParent1>
    <inod:NetIncomeLossAttributableToParent1
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_ewSQmswZHEiYh03UnZmIxg_4_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-11935000</inod:NetIncomeLossAttributableToParent1>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="0"
      id="Tc_4mgEk1GpQE-a2b-aWpGCrw_5_3"
      unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw">28131</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="0"
      id="Tc_SCKlgjTMJEGDgwaXrERs2A_5_6"
      unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw">27278</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="0"
      id="Tc_K-yPMw_mgEil7MRKyG_GNA_7_3"
      unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw">28131</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="0"
      id="Tc_OxmRLTDd9EKz43DPXUxuQQ_7_6"
      unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw">27278</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_us-gaap_EmployeeStockOptionMember_DPBvrTz6kkyaZw2HWXjVtQ"
      decimals="-5"
      id="Narr_scUFNMxPR0ynVp9nAPTl7A"
      unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw">6300000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="Duration_1_1_2022_To_12_31_2022_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_us-gaap_EmployeeStockOptionMember_l-ruXq15iEmvhjXE5yMAMw"
      decimals="-5"
      id="Narr_s5afztr-WU-FKRmZ4n0TYA"
      unitRef="Unit_Standard_shares_CusfqtWg1UKI0S_TYHIyFw">5300000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tb_n4j5-nyF6kSB_u9c983u3A">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;"&gt;16.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Derivatives&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company conducts a large portion of its operations in international markets which subject it to foreign currency fluctuations. The most significant foreign currency exposures occur when revenue and associated accounts receivable are collected in one currency and expenses to generate revenues are incurred in another currency. The Company is also subject to wage inflation and other government mandated increases and operating expenses in Asian countries where the Company has the majority of its operations. The Company&#x2019;s primary inflation and exchange rate exposure relates to payroll, other payroll costs and operating expenses in the Philippines, India, Sri Lanka and Israel.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;In addition, although most of the Company&#x2019;s revenue is denominated in U.S. dollars, a significant portion of total revenues is denominated in Canadian dollars, Pound Sterling and Euros.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company&#x2019;s policy is to enter derivative instrument contracts with terms that coincide with the underlying exposure being hedged for a period up to 12 months. As such, the Company&#x2019;s derivative instruments are expected to be highly effective. For derivative instruments that are designated and qualify as cash flow hedges, the entire change in fair value of the hedging instrument is recorded to Other comprehensive income (loss). Upon settlement of these contracts, the change in the fair value recorded in Other comprehensive income (loss) are reclassified to earnings and included as part of Direct operating costs. For derivative instruments that are not designated as hedges, any change in fair value is recorded directly in earnings as part of Direct operating costs.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"&gt;The Company formally documents all relationships between hedging instruments and hedged items, as well as its risk management objective and strategy for undertaking hedge transactions. The Company does not hold or issue derivatives for trading purposes. All derivatives are recognized at their fair value and classified based on the instrument&#x2019;s maturity date. The total notional amount for outstanding derivatives designated as hedges was $10.5 million and $14.2 million as of December 31, 2023 and 2022, respectively.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The following table presents the fair value of derivative instruments included within the consolidated balance sheets as of December 31, 2023 and 2022 (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:40.27%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:30.7%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.43%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:30.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Balance&#160;Sheet&#160;Location&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair&#160;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:30.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40.27%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Derivatives designated as hedging instruments:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:30.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.43%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Foreign currency forward contracts&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:30.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;Accrued expenses&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.43%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 365&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40.27%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Foreign currency forward contracts&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:30.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;Prepaid expenses and other current assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.43%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 41&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The effect of foreign currency forward contracts designated as cash flow hedges on the consolidated statements of operations for the&#160;years ended December 31, 2023 and 2022 were as follows (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net gain (loss) recognized in OCI&lt;sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(1)&lt;/sup&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 185&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,118)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net loss reclassified from accumulated OCI into income&lt;sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(2)&lt;/sup&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (221)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,106)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net gain recognized in income&lt;sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(3)&lt;/sup&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:6pt;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;"&gt;(1)&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;"&gt;Net change in fair value of the effective portion classified into other comprehensive income (&#x201c;OCI&#x201d;)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:6pt;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;"&gt;(2)&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;"&gt;Effective portion classified within direct operating costs.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:6pt;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;"&gt;(3)&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;"&gt;There were no ineffective portions for the period presented&lt;/span&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;"&gt;.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock>
    <us-gaap:DerivativeNotionalAmount
      contextRef="As_Of_12_31_2023_9So4mRLZ3ECFaYELelnOYQ"
      decimals="-5"
      id="Narr_H5Ja1tTd006vUwaahRLx-g"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">10500000</us-gaap:DerivativeNotionalAmount>
    <us-gaap:DerivativeNotionalAmount
      contextRef="As_Of_12_31_2022_Og1TTMnpxUiLHgEmh3aolA"
      decimals="-5"
      id="Narr_Lz35aabWxEq_RIWSPAQ_Cw"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">14200000</us-gaap:DerivativeNotionalAmount>
    <us-gaap:ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tb_Lojic16JU0i8KyM5wDt6Ug">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The following table presents the fair value of derivative instruments included within the consolidated balance sheets as of December 31, 2023 and 2022 (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:40.27%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:30.7%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.43%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.4%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:30.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Balance&#160;Sheet&#160;Location&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;Fair&#160;Value&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:30.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40.27%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Derivatives designated as hedging instruments:&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:30.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.43%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.4%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40.27%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Foreign currency forward contracts&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:30.7%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;Accrued expenses&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.43%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.38%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.4%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 365&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:40.27%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Foreign currency forward contracts&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:30.7%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;Prepaid expenses and other current assets&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.43%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 41&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.38%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock>
    <us-gaap:DerivativeInstrumentsAndHedgesLiabilities
      contextRef="As_Of_12_31_2022_us-gaap_BalanceSheetLocationAxis_us-gaap_AccruedLiabilitiesMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_InbCQGc--UKcVGc-vpr2Rg"
      decimals="-3"
      id="Tc_zmfzHhkVyUCoVH6LpFan7g_4_8"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">365000</us-gaap:DerivativeInstrumentsAndHedgesLiabilities>
    <us-gaap:DerivativeInstrumentsAndHedgesLiabilities
      contextRef="As_Of_12_31_2023_us-gaap_BalanceSheetLocationAxis_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeForwardMember_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_AUfPf9OJf0G5NwXT0F9c1A"
      decimals="-3"
      id="Tc_UW_eVsbW_EWua8JeA045oQ_5_5"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">41000</us-gaap:DerivativeInstrumentsAndHedgesLiabilities>
    <us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tb_EJd4_sJtJ0WnbBNpbM2Uwg">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;The effect of foreign currency forward contracts designated as cash flow hedges on the consolidated statements of operations for the&#160;years ended December 31, 2023 and 2022 were as follows (in thousands):&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"&gt;&lt;tr style="height:1pt;"&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;margin:0pt;padding:0pt;"&gt;&lt;div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"&gt;&lt;div style="bottom:0pt;position:absolute;width:100%;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:1pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2023&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;&#160;&#160;&#160;&#160;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;b style="font-weight:bold;"&gt;2022&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net gain (loss) recognized in OCI&lt;sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(1)&lt;/sup&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt; 185&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,118)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net loss reclassified from accumulated OCI into income&lt;sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(2)&lt;/sup&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (221)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"&gt; (1,106)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="vertical-align:bottom;width:73.88%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;Net gain recognized in income&lt;sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;"&gt;(3)&lt;/sup&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.24%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:2.34%;background:#cceeff;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt 0pt 0.05pt 0pt;"&gt;&lt;span style="font-size:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"&gt;$&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;white-space:nowrap;width:9.22%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:0pt;margin:0pt;"&gt;&lt;span style="font-size:5pt;margin-bottom:10pt;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:6pt;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;"&gt;(1)&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;"&gt;Net change in fair value of the effective portion classified into other comprehensive income (&#x201c;OCI&#x201d;)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:6pt;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;"&gt;(2)&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;"&gt;Effective portion classified within direct operating costs.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"&gt;&lt;tr&gt;&lt;td style="font-family:'Times New Roman','Times','serif';font-size:6pt;vertical-align:top;white-space:nowrap;width:18pt;padding:0pt;"&gt;(3)&lt;/td&gt;&lt;td style="padding:0pt;"&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;"&gt;There were no ineffective portions for the period presented&lt;/span&gt;&lt;span style="font-family:'Times New Roman','Times','serif';font-size:8pt;font-style:normal;font-weight:normal;"&gt;.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_yz0yJCadlEu29VXQOZ_bNQ_2_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">185000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax>
    <us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_ykBbZAEtnEijjzEPD-vpCQ_2_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-1118000</us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossBeforeReclassificationAndTax>
    <us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodBeforeTax
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      decimals="-3"
      id="Tc_4WCip74QEE22tL8n000imQ_3_3"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-221000</us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodBeforeTax>
    <us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodBeforeTax
      contextRef="Duration_1_1_2022_To_12_31_2022_Pp1ZDf9JKE6dyN5svnQpKg"
      decimals="-3"
      id="Tc_toDn0OLTOESAs7m6cZ6vog_3_6"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">-1106000</us-gaap:ReclassificationFromAccumulatedOtherComprehensiveIncomeCurrentPeriodBeforeTax>
    <us-gaap:DebtDisclosureTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tb_U11QGiwJXEO1bsaL0r8TRw">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;17.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Line of Credit&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;On April 4, 2023, the Company entered into a Credit Agreement (the &#x201c;Credit Agreement&#x201d;) with Wells Fargo Bank, National Association, as lender, and Innodata Inc., Innodata Synodex, LLC, Innodata docGenix, LLC and Agility PR Solutions LLC as co-borrowers. On July 21, 2023, Innodata Services LLC signed a Joinder Agreement to join the Credit Agreement as a co-borrower. The Credit Agreement provides for a secured revolving line of credit (the &#x201c;Revolving Credit Facility&#x201d;) up to an amount equal to the lesser of the borrowing base and $10.0 million with a maturity date of April 4, 2026. The Revolving Credit Facility&#x2019;s borrowing base is calculated in accordance with the terms of the Credit Agreement and on the basis of 85% of eligible accounts, 85% of eligible foreign accounts up to $2.0 million and certain other reserves and adjustments. As of December 31, 2023, such borrowing base calculation equaled approximately $10.0 million. The Credit Agreement contains a financial covenant that requires the Borrowers, on a consolidated basis, to maintain a fixed charge coverage ratio of not less than 1.10 to 1.00 by December 31, 2023. Except as set forth in the Credit Agreement, borrowings under the Revolving Credit Facility bear interest at a rate equal to the daily simple secured overnight financing rate (&#x201c;SOFR&#x201d;) plus 2.25%. The Company has not utilized the Revolving Credit Facility during the year ended December 31, 2023 and through the date of filing of this Report.&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;&lt;span style="visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;</us-gaap:DebtDisclosureTextBlock>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="As_Of_4_4_2023_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_anRnKJhV_EGKUcG18ZpIpg"
      decimals="-5"
      id="Narr_O3FqHgNTP0-GyC0MO9JziQ"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">10000000.0</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <inod:LineOfCreditFacilityPercentageOfEligibleAccountsConsideredForDeterminationOfBorrowingBase
      contextRef="As_Of_4_4_2023_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_anRnKJhV_EGKUcG18ZpIpg"
      decimals="2"
      id="Narr_h8cAmTtAnUW_Kzarae7Log"
      unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg">0.85</inod:LineOfCreditFacilityPercentageOfEligibleAccountsConsideredForDeterminationOfBorrowingBase>
    <inod:LineOfCreditFacilityPercentageOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase
      contextRef="As_Of_4_4_2023_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_anRnKJhV_EGKUcG18ZpIpg"
      decimals="2"
      id="Narr_mlXpQvGfbkKHJ5MKW_meEA"
      unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg">0.85</inod:LineOfCreditFacilityPercentageOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase>
    <inod:LineOfCreditFacilityMaximumAmountOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase
      contextRef="As_Of_4_4_2023_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_anRnKJhV_EGKUcG18ZpIpg"
      decimals="-5"
      id="Narr_HEjqkahKCkKvoubQtoKo_A"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">2000000.0</inod:LineOfCreditFacilityMaximumAmountOfEligibleForeignAccountsConsideredForDeterminationOfBorrowingBase>
    <us-gaap:LineOfCreditFacilityCurrentBorrowingCapacity
      contextRef="As_Of_12_31_2023_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_qXmgvxTx802OU8AiQe7VYA"
      decimals="-5"
      id="Narr_KOIf23VRMUGbdxR1RKRlqA"
      unitRef="Unit_Standard_USD_YMDlJ2yjT0yoj1YCKw49HA">10000000.0</us-gaap:LineOfCreditFacilityCurrentBorrowingCapacity>
    <inod:LineOfCreditFacilityCovenantTermsThresholdMinimumRequiredFixedChargeCoverageRatio
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_Gt0Fc2emHkCNxWwCfSeNWw"
      decimals="2"
      id="Narr_GWMPEG8sKE-0WLVIENSlxQ"
      unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg">1.10</inod:LineOfCreditFacilityCovenantTermsThresholdMinimumRequiredFixedChargeCoverageRatio>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="Duration_1_1_2023_To_12_31_2023_us-gaap_CreditFacilityAxis_us-gaap_RevolvingCreditFacilityMember_us-gaap_VariableRateAxis_us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember_H1VS6g2bE0uHuDqDCyn7rA"
      decimals="4"
      id="Narr_sLPyR151-UGC2Agi6M9pnw"
      unitRef="Unit_Standard_pure_LAInQPAtIUee60NAOoHkXg">0.0225</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:SubsequentEventsTextBlock
      contextRef="Duration_1_1_2023_To_12_31_2023_qTa6mJ6Ywk2W-6aI7CLDqg"
      id="Tb_lhheAw8bBEa2IfvFW624YQ">&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;b style="font-weight:bold;"&gt;18.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Subsequent Event&lt;/b&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;margin:0pt;"&gt;&lt;span style="font-weight:bold;visibility:hidden;"&gt;&#x200b;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family:'Times New Roman','Times','serif';font-size:11pt;text-align:justify;text-indent:36pt;margin:0pt;"&gt;On February 21, 2024, a putative class action lawsuit was filed in the U.S. District Court for the District of New Jersey against the Company and certain of its current and former officers (D&#x2019;Agostino v. Innodata Inc., et al., Case Number 2:24-CV-00971 (the &#x201c;D&#x2019;Agostino Complaint&#x201d;). The D&#x2019;Agostino Complaint asserts claims against all defendants for alleged violations of Section 10(b) of the Exchange Act and Rule 10b-5 promulgated thereunder and Section 20(a) of the Exchange Act. The D&#x2019;Agostino Complaint alleges that defendants made materially false and misleading statements related to its AI business and development and related financial results, growth, and prospects. The D&#x2019;Agostino Complaint seeks unspecified compensatory and punitive damages, costs, attorneys&#x2019; fees, and other unspecified relief. The Company intends to defend against the D&#x2019;Agostino Complaint vigorously. &lt;/p&gt;</us-gaap:SubsequentEventsTextBlock>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
